diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs
index 61ed378d56..b8da6d6874 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs
@@ -407,7 +407,7 @@ namespace ICSharpCode.SharpDevelop.Project
{
base.Initialize();
}
-
+
///
/// Create's a new FileProjectItem in this DirectoryNode.
///
@@ -543,11 +543,13 @@ namespace ICSharpCode.SharpDevelop.Project
return true;
}
if (dataObject.GetDataPresent(typeof(FileNode))) {
- FileOperationClipboardObject clipboardObject = (FileOperationClipboardObject)dataObject.GetData(typeof(FileNode).ToString());
- return File.Exists(clipboardObject.FileName);
+ FileOperationClipboardObject clipboardObject = dataObject.GetData(typeof(FileNode).ToString()) as FileOperationClipboardObject;
+ return clipboardObject != null && File.Exists(clipboardObject.FileName);
}
if (dataObject.GetDataPresent(typeof(DirectoryNode))) {
- FileOperationClipboardObject clipboardObject = (FileOperationClipboardObject)dataObject.GetData(typeof(DirectoryNode).ToString());
+ FileOperationClipboardObject clipboardObject = dataObject.GetData(typeof(DirectoryNode).ToString()) as FileOperationClipboardObject;
+ if (clipboardObject == null)
+ return false;
if (FileUtility.IsBaseDirectory(clipboardObject.FileName, Directory)) {
return false;
}
diff --git a/src/Main/Base/Project/Src/Project/Solution/Solution.cs b/src/Main/Base/Project/Src/Project/Solution/Solution.cs
index afeb4dc0f0..01110f718e 100644
--- a/src/Main/Base/Project/Src/Project/Solution/Solution.cs
+++ b/src/Main/Base/Project/Src/Project/Solution/Solution.cs
@@ -736,6 +736,7 @@ namespace ICSharpCode.SharpDevelop.Project
l.Project.ActiveConfiguration = l.Configuration;
l.Project.ActivePlatform = FixPlatformNameForProject(l.Platform);
}
+ ProjectService.OnSolutionConfigurationChanged(new SolutionConfigurationEventArgs(this, preferences.ActiveConfiguration));
}
///
diff --git a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs
index 662182b184..81b057f323 100644
--- a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs
+++ b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs
@@ -524,14 +524,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
- static void OnProjectConfigurationChanged(ProjectConfigurationEventArgs e)
- {
- if (ProjectConfigurationChanged != null) {
- ProjectConfigurationChanged(null, e);
- }
- }
-
- static void OnSolutionConfigurationChanged(SolutionConfigurationEventArgs e)
+ internal static void OnSolutionConfigurationChanged(SolutionConfigurationEventArgs e)
{
if (SolutionConfigurationChanged != null) {
SolutionConfigurationChanged(null, e);
@@ -642,7 +635,8 @@ namespace ICSharpCode.SharpDevelop.Project
public static event EventHandler StartBuild;
public static event EventHandler EndBuild;
- public static event ProjectConfigurationEventHandler ProjectConfigurationChanged;
+ [Obsolete("This event is never raised.")]
+ public static event ProjectConfigurationEventHandler ProjectConfigurationChanged { add {} remove {} }
public static event SolutionConfigurationEventHandler SolutionConfigurationChanged;
public static event EventHandler SolutionCreated;