From 9d659a9b1f36ac709c314af0b8939eb2be15f897 Mon Sep 17 00:00:00 2001 From: jesus Date: Wed, 22 Oct 2014 01:05:09 +0000 Subject: [PATCH] LCL, fix AV while doing dbgrid.selectedRows.delete (and memleak under 2.6.4), issue #26913 git-svn-id: trunk@46637 - --- lcl/dbgrids.pas | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lcl/dbgrids.pas b/lcl/dbgrids.pas index c1aae1de44..a74ec3e7be 100644 --- a/lcl/dbgrids.pas +++ b/lcl/dbgrids.pas @@ -4235,13 +4235,15 @@ begin {$ifdef dbgDBGrid} DebugLn('%s.Delete', [ClassName]); {$endif} - for i := 0 to FList.Count - 1 do begin + for i := FList.Count-1 downto 0 do begin FDataset.GotoBookmark(Items[i]); - FDataset.Delete; {$ifndef noautomatedbookmark} Bookmark := FList[i]; SetLength(TBookmark(Bookmark),0); // decrease reference count + {$else} + FDataset.FreeBookmark(Items[i]); {$endif noautomatedbookmark} + FDataset.Delete; FList.Delete(i); end; end;