LCL: Disconnect OnIdle handler of FilterEdit when the control is destroyed. Issue #31893.

git-svn-id: trunk@55058 -
This commit is contained in:
juha 2017-05-23 07:46:23 +00:00
parent 649fcd18cd
commit 6dbb82d795

View File

@ -221,6 +221,7 @@ type
ItemData: Pointer): Boolean; ItemData: Pointer): Boolean;
function DoDefaultFilterItem(const ACaption, FilterLC: string; function DoDefaultFilterItem(const ACaption, FilterLC: string;
const ItemData: Pointer): Boolean; virtual; const ItemData: Pointer): Boolean; virtual;
procedure DestroyWnd; override;
procedure EditKeyDown(var Key: Word; Shift: TShiftState); override; procedure EditKeyDown(var Key: Word; Shift: TShiftState); override;
procedure EditChange; override; procedure EditChange; override;
procedure ButtonClick; override; procedure ButtonClick; override;
@ -1117,6 +1118,12 @@ begin
Result := (FilterLC='') or (Pos(FilterLC,UTF8LowerCase(ACaption))>0); Result := (FilterLC='') or (Pos(FilterLC,UTF8LowerCase(ACaption))>0);
end; end;
procedure TCustomControlFilterEdit.DestroyWnd;
begin
IdleConnected:=false;
inherited DestroyWnd;
end;
function TCustomControlFilterEdit.DoFilterItem(const ACaption, function TCustomControlFilterEdit.DoFilterItem(const ACaption,
FilterLC: string; ItemData: Pointer): Boolean; FilterLC: string; ItemData: Pointer): Boolean;
var var