From 3ef01d954d5ba35a5e9a89e64984ed369e100a33 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 4 May 2015 17:30:19 +0200 Subject: [PATCH] Don't perform layout on removed controls. Ensure the control is still a member of the visual tree before attempting to measure/arrange it. --- Perspex.Layout/LayoutManager.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Perspex.Layout/LayoutManager.cs b/Perspex.Layout/LayoutManager.cs index f08ca7bf50..243fb91d5b 100644 --- a/Perspex.Layout/LayoutManager.cs +++ b/Perspex.Layout/LayoutManager.cs @@ -183,7 +183,10 @@ namespace Perspex.Layout parent = parent.GetVisualParent(); } - parent.Measure(parent.PreviousMeasure.Value, true); + if (parent.GetVisualRoot() == this.Root) + { + parent.Measure(parent.PreviousMeasure.Value, true); + } } } } @@ -229,7 +232,10 @@ namespace Perspex.Layout control = control.GetVisualParent(); } - control.Arrange(control.PreviousArrange.Value, true); + if (control.GetVisualRoot() == this.Root) + { + control.Arrange(control.PreviousArrange.Value, true); + } if (this.toMeasure.Count > 0) {