From 91780eb6f73783da2decfcaefd0376336c07f27a Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 1 Jul 2016 07:28:55 +0000 Subject: [PATCH] LCL: Don't get TListView OwnerData with ItemIndex -1. Issue #30320, patch from Michl. git-svn-id: trunk@52591 - --- lcl/include/customlistview.inc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lcl/include/customlistview.inc b/lcl/include/customlistview.inc index ab5a349c3b..dee24bedf6 100644 --- a/lcl/include/customlistview.inc +++ b/lcl/include/customlistview.inc @@ -342,11 +342,9 @@ begin if not OwnerData and (FSelected = Item) then InvalidateSelected else if OwnerData and (nm^.iItem=FSelectedIdx) then - begin - FSelectedIdx:=-1; InvalidateSelected; - end; - DoSelectItem(Item, False); + if nm^.iItem > -1 then + DoSelectItem(Item, False); end else begin FSelected := Item; @@ -356,7 +354,8 @@ begin FSelectedIdx:=nm^.iItem; end; //DebugLn('TCustomListView.CNNotify FSelected=',dbgs(FSelected)); - DoSelectItem(Item, True); + if nm^.iItem > -1 then + DoSelectItem(Item, True); end; end; end;