diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs index d7cb48b503..4fe44f4e70 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs @@ -366,19 +366,22 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad folderFile.Subtype = Subtype.Directory; project.Files.Add (folderFile); } - var children = FileNestingService.GetDependentOrNestedTree (file); if (children != null) { foreach (var child in children.ToArray ()) { - project.Files.Remove (child); - if(delete) + // Delete file before removing them from the project to avoid Remove items being added + // if the project is currently being saved in memory or to disk. + if (delete) FileService.DeleteFile (child.Name); + project.Files.Remove (child); } } - project.Files.Remove (file); + // Delete file before removing them from the project to avoid Remove items being added + // if the project is currently being saved in memory or to disk. if (delete && !file.IsLink) FileService.DeleteFile (file.Name); + project.Files.Remove (file); } } |