From 507604a0df29555021d7d24dde12c879ba98be24 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 19 Sep 2018 09:08:50 +0000 Subject: [PATCH] TValueListEditor: fix DeleteRow Issue #0034208 git-svn-id: branches/fixes_2_0@59070 - --- lcl/valedit.pas | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lcl/valedit.pas b/lcl/valedit.pas index fa66ccb3a8..7a6fa77cc7 100644 --- a/lcl/valedit.pas +++ b/lcl/valedit.pas @@ -151,6 +151,7 @@ type procedure ShowColumnTitles; procedure AdjustRowCount; virtual; procedure ColRowExchanged(IsColumn: Boolean; index, WithIndex: Integer); override; + procedure ColRowDeleted(IsColumn: Boolean; index: Integer); override; procedure DefineCellsProperty(Filer: TFiler); override; procedure InvalidateCachedRow; procedure GetAutoFillColumnInfo(const Index: Integer; var aMin,aMax,aPriority: Integer); override; @@ -770,9 +771,8 @@ end; procedure TValueListEditor.DeleteRow(Index: Integer); begin - Index := Index - FixedRows; //If we have only one row, it may be empty and we cannot remove - if not ((Index = 0) and (Strings.Count = 0)) then Strings.Delete(Index); + if not ((Index - FixedRows = 0) and (Strings.Count = 0)) then inherited DeleteRow(Index) ; end; procedure TValueListEditor.DeleteCol(Index: Integer); @@ -1122,6 +1122,13 @@ begin inherited ColRowExchanged(IsColumn, index, WithIndex); end; +procedure TValueListEditor.ColRowDeleted(IsColumn: Boolean; index: Integer); +begin + EditorMode := False; + Strings.Delete(Index-FixedRows); + inherited ColRowDeleted(IsColumn, index); +end; + procedure TValueListEditor.DefineCellsProperty(Filer: TFiler); begin end;