From a03b5355f8ba73a1a31b44307175a5a7066cb8b0 Mon Sep 17 00:00:00 2001 From: maxim Date: Mon, 14 May 2018 22:37:55 +0000 Subject: [PATCH] Merged revision(s) 57674 #f620b70d6d from trunk: LCL: toolbar: fix endless align/autosize loop. Issue #33575 ........ git-svn-id: branches/fixes_1_8@57937 - --- lcl/comctrls.pp | 2 +- lcl/include/toolbar.inc | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lcl/comctrls.pp b/lcl/comctrls.pp index 2e2f9734c7..8084a31cb5 100644 --- a/lcl/comctrls.pp +++ b/lcl/comctrls.pp @@ -2245,7 +2245,7 @@ type function CheckMenuDropdown(Button: TToolButton): Boolean; virtual; procedure ClickButton(Button: TToolButton); virtual; procedure CreateWnd; override; - procedure ControlsAligned; override; + procedure AlignControls(AControl: TControl; var RemainingClientRect: TRect); override; function FindButtonFromAccel(Accel: Word): TToolButton; procedure FontChanged(Sender: TObject); override; procedure Loaded; override; diff --git a/lcl/include/toolbar.inc b/lcl/include/toolbar.inc index cc98fc1f64..85033e8735 100644 --- a/lcl/include/toolbar.inc +++ b/lcl/include/toolbar.inc @@ -150,19 +150,23 @@ begin end; end; -procedure TToolBar.ControlsAligned; +procedure TToolBar.AlignControls(AControl: TControl; + var RemainingClientRect: TRect); var NewWidth, NewHeight: integer; begin if tbfPlacingControls in FToolBarFlags then exit; Include(FToolBarFlags, tbfPlacingControls); + DisableAlign; try + AdjustClientRect(RemainingClientRect); if IsVertical then WrapButtons(Height, NewWidth, NewHeight, False) else WrapButtons(Width, NewWidth, NewHeight, False); finally Exclude(FToolBarFlags, tbfPlacingControls); + EnableAlign; end; end;