From fea6bf6da2e8f84933cb578a55aebef652e0d669 Mon Sep 17 00:00:00 2001
From: Ben <ben-wallis@users.noreply.github.com>
Date: Sat, 4 Jul 2015 12:24:50 +0100
Subject: [PATCH] Fixed bug causing clicks between documents and toolpanes not
 to register.

---
 Filtration/App.xaml.cs                                   | 3 ++-
 Filtration/NLog.config                                   | 1 -
 Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs    | 3 +++
 Filtration/Views/AvalonDock/AvalonDockWorkspaceView.xaml | 2 +-
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Filtration/App.xaml.cs b/Filtration/App.xaml.cs
index 72f4316..243ac5c 100644
--- a/Filtration/App.xaml.cs
+++ b/Filtration/App.xaml.cs
@@ -25,6 +25,8 @@ namespace Filtration
 
         private void Application_Startup(object sender, StartupEventArgs e)
         {
+            DispatcherUnhandledException += OnDispatcherUnhandledException;
+
             _container = new WindsorContainer();
 
             var propInjector = _container.Kernel.ComponentModelBuilder
@@ -61,7 +63,6 @@ namespace Filtration
             Mapper.CreateMap<IThemeViewModel, Theme>();
 
             Mapper.AssertConfigurationIsValid();
-            DispatcherUnhandledException += OnDispatcherUnhandledException;
 
             var mainWindow = _container.Resolve<IMainWindow>();
             mainWindow.Show();
diff --git a/Filtration/NLog.config b/Filtration/NLog.config
index 9c00a0a..9c219f8 100644
--- a/Filtration/NLog.config
+++ b/Filtration/NLog.config
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
       autoReload="true"
       throwExceptions="false"
       internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
diff --git a/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs b/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs
index d6b0f0f..c23a24d 100644
--- a/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs
+++ b/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs
@@ -63,6 +63,8 @@ namespace Filtration.ViewModels
             get { return _activeDocument; }
             set
             {
+                if (value == _activeDocument) return;
+
                 _activeDocument = value;
                 RaisePropertyChanged();
 
@@ -105,6 +107,7 @@ namespace Filtration.ViewModels
         }
 
         private List<IToolViewModel> _tools;
+        private FiltrationViewModelBase _activeContent;
 
         public IEnumerable<IToolViewModel> Tools
         {
diff --git a/Filtration/Views/AvalonDock/AvalonDockWorkspaceView.xaml b/Filtration/Views/AvalonDock/AvalonDockWorkspaceView.xaml
index 000a971..9c10d74 100644
--- a/Filtration/Views/AvalonDock/AvalonDockWorkspaceView.xaml
+++ b/Filtration/Views/AvalonDock/AvalonDockWorkspaceView.xaml
@@ -20,7 +20,7 @@
     <Grid>
         <!-- ReSharper disable once InconsistentNaming -->
         <xcad:DockingManager x:Name="dockManager"
-                             AnchorablesSource="{Binding Tools}"
+                             AnchorablesSource="{Binding Tools}" 
                              AllowMixedOrientation="True"
                              DocumentsSource="{Binding OpenDocuments}"
                              ActiveContent="{Binding ActiveDocument, Mode=TwoWay, Converter={StaticResource ActiveDocumentConverter}}" >