From 721c734e03adcdf3f64975d1acafbfbb06b200c8 Mon Sep 17 00:00:00 2001 From: jesus Date: Wed, 12 Sep 2018 18:03:34 +0000 Subject: [PATCH] LCL: DbLookupCombobox: do not initialize lookup on datachange. git-svn-id: trunk@58967 - --- lcl/dbctrls.pp | 1 + lcl/include/dblookupcombobox.inc | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lcl/dbctrls.pp b/lcl/dbctrls.pp index 1c8517c735..c06f6ee978 100644 --- a/lcl/dbctrls.pp +++ b/lcl/dbctrls.pp @@ -860,6 +860,7 @@ Type procedure SetLookupCache(const Value: boolean); procedure SetNullValueKey(const AValue: TShortCut); procedure UpdateLookup; + procedure UpdateItemIndex; protected procedure InitializeWnd; override; procedure DestroyWnd; override; diff --git a/lcl/include/dblookupcombobox.inc b/lcl/include/dblookupcombobox.inc index 9b77c04413..ff204c8f27 100644 --- a/lcl/include/dblookupcombobox.inc +++ b/lcl/include/dblookupcombobox.inc @@ -63,7 +63,7 @@ end; procedure TDBLookupComboBox.DataChange(Sender: TObject); begin - UpdateLookup; + UpdateItemIndex; end; procedure TDBLookupComboBox.DoOnSelect; @@ -187,16 +187,21 @@ begin end; procedure TDBLookupComboBox.UpdateLookup; -var - i: Integer; begin if ([csLoading, csDestroying] * ComponentState) = [] then begin FLookup.Initialize(FDataLink, Items); - i := FLookup.GetKeyIndex; - ItemIndex := i; - if i = -1 then - Text := ''; + UpdateItemIndex; end; end; +procedure TDBLookupComboBox.UpdateItemIndex; +var + i: Integer; +begin + i := FLookup.GetKeyIndex; + ItemIndex := i; + if i = -1 then + Text := ''; +end; +