mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Fix crash in checklist cell editor, eg used for column selection in foreign key list. Closes #473.
This commit is contained in:
@ -118,6 +118,9 @@ type
|
|||||||
FPanel: TPanel;
|
FPanel: TPanel;
|
||||||
FCheckList: TCheckListBox;
|
FCheckList: TCheckListBox;
|
||||||
FBtnOK, FBtnCancel: TButton;
|
FBtnOK, FBtnCancel: TButton;
|
||||||
|
FEndTimer: TTimer;
|
||||||
|
procedure BtnOkClick(Sender: TObject);
|
||||||
|
procedure BtnCancelClick(Sender: TObject);
|
||||||
public
|
public
|
||||||
ValueList: TStringList;
|
ValueList: TStringList;
|
||||||
constructor Create(Tree: TVirtualStringTree); override;
|
constructor Create(Tree: TVirtualStringTree); override;
|
||||||
@ -947,12 +950,16 @@ begin
|
|||||||
FBtnOk := TButton.Create(FPanel);
|
FBtnOk := TButton.Create(FPanel);
|
||||||
FBtnOk.Parent := FPanel;
|
FBtnOk.Parent := FPanel;
|
||||||
FBtnOk.Caption := _('OK');
|
FBtnOk.Caption := _('OK');
|
||||||
FBtnOk.OnClick := DoEndEdit;
|
FBtnOk.OnClick := BtnOkClick;
|
||||||
|
|
||||||
FBtnCancel := TButton.Create(FPanel);
|
FBtnCancel := TButton.Create(FPanel);
|
||||||
FBtnCancel.Parent := FPanel;
|
FBtnCancel.Parent := FPanel;
|
||||||
FBtnCancel.Caption := _('Cancel');
|
FBtnCancel.Caption := _('Cancel');
|
||||||
FBtnCancel.OnClick := DoCancelEdit;
|
FBtnCancel.OnClick := BtnCancelClick;
|
||||||
|
|
||||||
|
FEndTimer := TTimer.Create(FPanel);
|
||||||
|
FEndTimer.Interval := 50;
|
||||||
|
FEndTimer.Enabled := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -1037,6 +1044,22 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSetEditorLink.BtnOkClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
// Timer based click on OK button, to prevent crash when theming is active
|
||||||
|
FEndTimer.OnTimer := DoEndEdit;
|
||||||
|
FEndTimer.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSetEditorLink.BtnCancelClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
// Timer based click on Cancel button, to prevent crash when theming is active
|
||||||
|
FEndTimer.OnTimer := DoCancelEdit;
|
||||||
|
FEndTimer.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{ TInplaceEditorLink }
|
{ TInplaceEditorLink }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user