mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-08 11:19:16 +02:00
LCL: Fix CalculatePreferredSize. HorizontalSpacing was sometimes used for vertical size. Issue #20445
This commit is contained in:
parent
55cc226024
commit
689ef2119f
@ -367,10 +367,13 @@ begin
|
||||
end else if ChildData.Sides[a].CtrlData<>nil then begin
|
||||
SiblingData:=ChildData.Sides[a].CtrlData;
|
||||
// aligned or anchored to a sibling
|
||||
NewSpace:=ChildData.Borders[a];
|
||||
if a in [akLeft,akTop] then begin
|
||||
NewSpace:=ChildData.Borders[a];
|
||||
if ChildData.Sides[a].Side=asrRight then begin
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.HorizontalSpacing);
|
||||
if a = akLeft then
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.HorizontalSpacing)
|
||||
else
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.VerticalSpacing);
|
||||
if a=akLeft then
|
||||
NewSpace:=Max(NewSpace,SiblingData.Borders[akRight])
|
||||
else
|
||||
@ -379,11 +382,12 @@ begin
|
||||
|
||||
else if ChildData.Sides[a].Side=asrCenter then
|
||||
NewSpace:=0;
|
||||
ChildData.Sides[a].Space:=NewSpace;
|
||||
end else begin
|
||||
NewSpace:=ChildData.Borders[a];
|
||||
if ChildData.Sides[a].Side=asrTop then begin
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.VerticalSpacing);
|
||||
if a = akRight then
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.HorizontalSpacing)
|
||||
else
|
||||
NewSpace:=Max(NewSpace,WinControl.ChildSizing.VerticalSpacing);
|
||||
if a=akRight then
|
||||
NewSpace:=Max(NewSpace,SiblingData.Borders[akLeft])
|
||||
else
|
||||
@ -392,8 +396,8 @@ begin
|
||||
|
||||
else if ChildData.Sides[a].Side=asrCenter then
|
||||
NewSpace:=0;
|
||||
ChildData.Sides[a].Space:=NewSpace;
|
||||
end;
|
||||
ChildData.Sides[a].Space:=NewSpace;
|
||||
end else if a in Child.Anchors then begin
|
||||
// anchored to parent via BaseBounds
|
||||
if a in [akLeft,akTop] then begin
|
||||
|
Loading…
Reference in New Issue
Block a user