Browse Source

Always add control in measure queue to arrange queue.

And also removed the checks for `IsAttachedToVisualTree`: that's going to be checked in `Arrange` and `Measure`.

Fixes #11161
pull/11175/head
Steven Kirk 4 years ago
parent
commit
a03b73a734
  1. 8
      src/Avalonia.Base/Layout/LayoutManager.cs

8
src/Avalonia.Base/Layout/LayoutManager.cs

@ -249,10 +249,12 @@ namespace Avalonia.Layout
{ {
var control = _toMeasure.Dequeue(); var control = _toMeasure.Dequeue();
if (!control.IsMeasureValid && control.IsAttachedToVisualTree) if (!control.IsMeasureValid)
{ {
Measure(control); Measure(control);
} }
_toArrange.Enqueue(control);
} }
} }
@ -262,7 +264,7 @@ namespace Avalonia.Layout
{ {
var control = _toArrange.Dequeue(); var control = _toArrange.Dequeue();
if (!control.IsArrangeValid && control.IsAttachedToVisualTree) if (!control.IsArrangeValid)
{ {
Arrange(control); Arrange(control);
} }
@ -297,8 +299,6 @@ namespace Avalonia.Layout
{ {
control.Measure(control.PreviousMeasure.Value); control.Measure(control.PreviousMeasure.Value);
} }
_toArrange.Enqueue(control);
} }
return true; return true;

Loading…
Cancel
Save