mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-10 10:41:15 +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
|
end else if ChildData.Sides[a].CtrlData<>nil then begin
|
||||||
SiblingData:=ChildData.Sides[a].CtrlData;
|
SiblingData:=ChildData.Sides[a].CtrlData;
|
||||||
// aligned or anchored to a sibling
|
// aligned or anchored to a sibling
|
||||||
|
NewSpace:=ChildData.Borders[a];
|
||||||
if a in [akLeft,akTop] then begin
|
if a in [akLeft,akTop] then begin
|
||||||
NewSpace:=ChildData.Borders[a];
|
|
||||||
if ChildData.Sides[a].Side=asrRight then begin
|
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
|
if a=akLeft then
|
||||||
NewSpace:=Max(NewSpace,SiblingData.Borders[akRight])
|
NewSpace:=Max(NewSpace,SiblingData.Borders[akRight])
|
||||||
else
|
else
|
||||||
@ -379,11 +382,12 @@ begin
|
|||||||
|
|
||||||
else if ChildData.Sides[a].Side=asrCenter then
|
else if ChildData.Sides[a].Side=asrCenter then
|
||||||
NewSpace:=0;
|
NewSpace:=0;
|
||||||
ChildData.Sides[a].Space:=NewSpace;
|
|
||||||
end else begin
|
end else begin
|
||||||
NewSpace:=ChildData.Borders[a];
|
|
||||||
if ChildData.Sides[a].Side=asrTop then begin
|
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
|
if a=akRight then
|
||||||
NewSpace:=Max(NewSpace,SiblingData.Borders[akLeft])
|
NewSpace:=Max(NewSpace,SiblingData.Borders[akLeft])
|
||||||
else
|
else
|
||||||
@ -392,8 +396,8 @@ begin
|
|||||||
|
|
||||||
else if ChildData.Sides[a].Side=asrCenter then
|
else if ChildData.Sides[a].Side=asrCenter then
|
||||||
NewSpace:=0;
|
NewSpace:=0;
|
||||||
ChildData.Sides[a].Space:=NewSpace;
|
|
||||||
end;
|
end;
|
||||||
|
ChildData.Sides[a].Space:=NewSpace;
|
||||||
end else if a in Child.Anchors then begin
|
end else if a in Child.Anchors then begin
|
||||||
// anchored to parent via BaseBounds
|
// anchored to parent via BaseBounds
|
||||||
if a in [akLeft,akTop] then begin
|
if a in [akLeft,akTop] then begin
|
||||||
|
Loading…
Reference in New Issue
Block a user