From df90bc1412f3746f3be1e010f011fc8ba15de23c Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sat, 19 Nov 2005 14:30:38 +0000 Subject: [PATCH] Fixed SD2-565. Cutting and pasting a file into its original directory no longer deletes the file. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@771 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs | 5 ++++- .../Src/Services/ParserService/ParseProjectContent.cs | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) 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 0fb9529f13..090738b760 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 @@ -458,7 +458,10 @@ namespace ICSharpCode.SharpDevelop.Project if (File.Exists(clipboardObject.FileName)) { ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProject.CopyFile(clipboardObject.FileName, this, true); if (clipboardObject.PerformMove) { - FileService.RemoveFile(clipboardObject.FileName, false); + string copiedFileName = Path.Combine(Directory, Path.GetFileName(clipboardObject.FileName)); + if (!FileUtility.IsEqualFileName(clipboardObject.FileName, copiedFileName)) { + FileService.RemoveFile(clipboardObject.FileName, false); + } } } } else if (dataObject.GetDataPresent(typeof(DirectoryNode))) { diff --git a/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs b/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs index a3d50066f1..3cac7adb55 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs @@ -141,7 +141,9 @@ namespace ICSharpCode.Core break; case ItemType.Compile: ParseInformation info = ParserService.GetParseInformation(e.ProjectItem.FileName); - RemoveCompilationUnit(info.MostRecentCompilationUnit); + if (info != null) { + RemoveCompilationUnit(info.MostRecentCompilationUnit); + } ParserService.ClearParseInformation(e.ProjectItem.FileName); break; }