From 88ac636e413d27df1de20d2bb9b69346e7bf7ec0 Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 22 Nov 2019 20:08:39 +0000 Subject: [PATCH] LCL: Prevent a crash in Coolbar when clicking a Grabber in an empty band. git-svn-id: trunk@62283 - --- lcl/include/coolbar.inc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lcl/include/coolbar.inc b/lcl/include/coolbar.inc index 6bdfdea915..80479d996c 100644 --- a/lcl/include/coolbar.inc +++ b/lcl/include/coolbar.inc @@ -1002,7 +1002,7 @@ begin end; procedure TCustomCoolBar.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); -var aBand, w, h: Integer; +var aBand, w, h, offs: Integer; newRowBelow, needRecalc, needBandMaximize, aGrabber: Boolean; begin inherited MouseUp(Button, Shift, X, Y); @@ -1014,14 +1014,16 @@ begin end; if needBandMaximize then begin MouseToBandPos(X, Y, aBand, aGrabber); - if aGrabber then begin + if aGrabber and Assigned(FVisiBands[aBand].control) then begin w:=0; h:=0; FVisiBands[aBand].control.GetPreferredSize(w,h); + offs:=FVisiBands[aBand].CalcControlLeft + +FVisiBands[aBand].cDivider + HorizontalSpacing; if vertical then - FVisiBands[aBand].width:=FVisiBands[aBand].CalcControlLeft+h+HorizontalSpacing+FVisiBands[aBand].cDivider + FVisiBands[aBand].width:=offs+h else - FVisiBands[aBand].width:=FVisiBands[aBand].CalcControlLeft+w+HorizontalSpacing+FVisiBands[aBand].cDivider; + FVisiBands[aBand].width:=offs+w; FDraggedBandIndex:=-1; end; end;