@@ -1008,8 +1008,7 @@ TMainForm = class(TExtForm)
10081008 procedure actCloseQueryTabExecute(Sender: TObject);
10091009 procedure menuCloseQueryTabClick(Sender: TObject);
10101010 procedure CloseQueryTab(PageIndex: Integer);
1011- procedure CloseButtonOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
1012- procedure CloseButtonOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
1011+ procedure CloseButtonOnClick(Sender: TObject);
10131012 function GetMainTabAt(X, Y: Integer): Integer;
10141013 procedure FixQueryTabCloseButtons;
10151014 function GetOrCreateEmptyQueryTab(DoFocus: Boolean): TQueryTab;
@@ -12537,8 +12536,7 @@ procedure TMainForm.actNewQueryTabExecute(Sender: TObject);
1253712536 QueryTab.CloseButton.Height := 16;
1253812537 QueryTab.CloseButton.Flat := True;
1253912538 VirtualImageListMain.GetBitmap(134, QueryTab.CloseButton.Glyph);
12540- QueryTab.CloseButton.OnMouseDown := CloseButtonOnMouseDown;
12541- QueryTab.CloseButton.OnMouseUp := CloseButtonOnMouseUp;
12539+ QueryTab.CloseButton.OnClick := CloseButtonOnClick;
1254212540 SetTabCaption(QueryTab.TabSheet.PageIndex, '');
1254312541
1254412542 // Dumb code which replicates all controls from tabQuery
@@ -13083,22 +13081,9 @@ procedure TMainForm.editDatabaseTableFilterExit(Sender: TObject);
1308313081end;
1308413082
1308513083
13086- procedure TMainForm.CloseButtonOnMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer );
13084+ procedure TMainForm.CloseButtonOnClick (Sender: TObject);
1308713085begin
1308813086 FLastMouseDownCloseButton := Sender;
13089- end;
13090-
13091-
13092- procedure TMainForm.CloseButtonOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
13093- begin
13094- // Click on "Close" button of Query tab
13095- if Button <> mbLeft then
13096- Exit;
13097- // Between MousDown and MouseUp it is possible that the focused tab has switched. As we simulate a mouse-click
13098- // here, we must check if also the MouseDown event was fired on this particular button. See issue #1469.
13099- if (Sender <> FLastMouseDownCloseButton) then
13100- Exit;
13101- // Prevent EAccessViolation in TControl.GetClientWidth, see issue #1640
1310213087 TimerCloseTabByButton.Enabled := True;
1310313088end;
1310413089
0 commit comments