mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-19 01:59:20 +02:00
LCL: Fixed TControl.InvalidatePreferredSize loop detected for Application.BidiMode = bdRightToLeftNoAlign and ChildSizing.Layout cclLeftToRightThenTopToBottom. Issue #28483
git-svn-id: trunk@55209 -
This commit is contained in:
parent
3c7559c6e2
commit
ca8e0d5fb0
@ -119,7 +119,10 @@ type
|
||||
procedure SumTable;
|
||||
procedure ResizeTable(ChildSizing: TControlChildSizing;
|
||||
TargetWidth, TargetHeight: integer);
|
||||
procedure AlignToRight(TargetWidth: integer);
|
||||
// Michl: Commented procedure AlignToRight because of issue #28483, afaics
|
||||
// it isn't needed, I'll remove code, if there are no regressions.
|
||||
// Commented in revision 55209
|
||||
// procedure AlignToRight(TargetWidth: integer);
|
||||
procedure ComputeTableControlBounds(ChildSizing: TControlChildSizing;
|
||||
BiDiMode: TBiDiMode);
|
||||
function SetTableControlBounds(ChildSizing: TControlChildSizing
|
||||
@ -2137,7 +2140,7 @@ begin
|
||||
ComputeLeftTops(asboVertical);
|
||||
end;
|
||||
|
||||
procedure TAutoSizeBox.AlignToRight(TargetWidth: integer);
|
||||
{procedure TAutoSizeBox.AlignToRight(TargetWidth: integer);
|
||||
|
||||
function GetChildTotalSize(Orientation: TAutoSizeBoxOrientation): integer;
|
||||
// computes the total preferred size of all children of this Orientation
|
||||
@ -2171,7 +2174,7 @@ begin
|
||||
inc(Child.LeftTop[Orientation],dx);
|
||||
end;
|
||||
end;
|
||||
|
||||
}
|
||||
procedure TAutoSizeBox.ComputeTableControlBounds(
|
||||
ChildSizing: TControlChildSizing; BiDiMode: TBiDiMode);
|
||||
var
|
||||
@ -2297,8 +2300,13 @@ begin
|
||||
//WriteDebugReport('after SumTable');
|
||||
ResizeTable(ChildSizing,TargetWidth,TargetHeight);
|
||||
//WriteDebugReport('after ResizeTable');
|
||||
if BiDiMode=bdRightToLeft then
|
||||
AlignToRight(TargetWidth);
|
||||
|
||||
// Michl: Commented procedure AlignToRight because of issue #28483, afaics
|
||||
// it isn't needed, I'll remove code, if there are no regressions.
|
||||
// Commented in revision 55209
|
||||
// if BiDiMode=bdRightToLeft then
|
||||
// AlignToRight(TargetWidth);
|
||||
|
||||
//WriteDebugReport('after AlignToRight');
|
||||
ComputeTableControlBounds(ChildSizing,BiDiMode);
|
||||
//WriteDebugReport('after ComputeTableControlBounds');
|
||||
|
Loading…
Reference in New Issue
Block a user