From 82c2a6277168e00b0806bfb89ab7ebcea3e7e36f Mon Sep 17 00:00:00 2001 From: Dirkster99 Date: Fri, 27 Sep 2019 17:59:29 +0200 Subject: [PATCH] BugFix Candidate for https://github.com/Dirkster99/AvalonDock/issues/59 --- .../Components/Xceed.Wpf.AvalonDock/DockingManager.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/Components/Xceed.Wpf.AvalonDock/DockingManager.cs b/source/Components/Xceed.Wpf.AvalonDock/DockingManager.cs index a5266b3a..671d06f8 100644 --- a/source/Components/Xceed.Wpf.AvalonDock/DockingManager.cs +++ b/source/Components/Xceed.Wpf.AvalonDock/DockingManager.cs @@ -2399,9 +2399,10 @@ private void DockingManager_Loaded( object sender, RoutedEventArgs e ) } _fwHiddenList.Clear(); - //load windows not already loaded! - foreach( var fw in Layout.FloatingWindows.Where( fw => !_fwList.Any( fwc => fwc.Model == fw ) ) ) - _fwList.Add( CreateUIElementForModel( fw ) as LayoutFloatingWindowControl ); + // load floating windows not already loaded! (issue #59) + List items = new List(Layout.FloatingWindows.Where(fw => !_fwList.Any(fwc => fwc.Model == fw))); + foreach (var fw in items) + _fwList.Add(CreateUIElementForModel(fw) as LayoutFloatingWindowControl); //create the overlaywindow if it's possible if( IsVisible ) @@ -2976,7 +2977,9 @@ private void RemoveViewFromLogicalChild( LayoutContent layoutContent ) private void InternalSetActiveContent( object contentObject ) { - var layoutContent = Layout.Descendents().OfType().FirstOrDefault( lc => lc == contentObject || lc.Content == contentObject ); + // BugFix for first issue in #59 + List list = Layout.Descendents().OfType().ToList(); + var layoutContent = list.FirstOrDefault( lc => lc == contentObject || lc.Content == contentObject ); _insideInternalSetActiveContent = true; Layout.ActiveContent = layoutContent; _insideInternalSetActiveContent = false;