From c1a14a4507e3efbeba73a8b7e02082c05ac13f00 Mon Sep 17 00:00:00 2001 From: hpsa Date: Tue, 24 Jan 2012 13:58:59 +0200 Subject: [PATCH] Fix exception when changing AvalonDock panes size during auto-layout change --- src/Libraries/AvalonDock/AvalonDock/ResizingPanel.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Libraries/AvalonDock/AvalonDock/ResizingPanel.cs b/src/Libraries/AvalonDock/AvalonDock/ResizingPanel.cs index 221258c9ce..dbaeef9ce1 100644 --- a/src/Libraries/AvalonDock/AvalonDock/ResizingPanel.cs +++ b/src/Libraries/AvalonDock/AvalonDock/ResizingPanel.cs @@ -882,6 +882,10 @@ namespace AvalonDock //Point draggedPoint = this.PointToScreenDPI( // new Point(e.HorizontalChange, e.VerticalChange)); Window wnd = Window.GetWindow(this); + if (wnd == null) + { + return; + } var trToWnd = TransformToAncestor(wnd); Vector transformedDelta = trToWnd.Transform(new Point(e.HorizontalChange, e.VerticalChange)) - trToWnd.Transform(new Point()); @@ -1172,6 +1176,11 @@ namespace AvalonDock Size[] currentSizes = new Size[visibleChildren.Count]; Window wnd = Window.GetWindow(this); + if (wnd == null) + { + InvalidateMeasure(); + return; + } var trToWnd = TransformToAncestor(wnd).Inverse; Vector transformedDelta = trToWnd.Transform(new Point(e.HorizontalChange, e.VerticalChange)) - trToWnd.Transform(new Point());