From 6a8611bfdca835845ab975918396a7c4a35e2b70 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 1 Dec 2006 19:40:10 +0000 Subject: [PATCH] Fixed SD2-944: Moving a class from a location that doesn't exist throws exception. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2112 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- src/Main/Base/Project/Src/Project/Items/ProjectItem.cs | 7 ++++++- .../Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Main/Base/Project/Src/Project/Items/ProjectItem.cs b/src/Main/Base/Project/Src/Project/Items/ProjectItem.cs index b843db6b5b..10a412b4d8 100644 --- a/src/Main/Base/Project/Src/Project/Items/ProjectItem.cs +++ b/src/Main/Base/Project/Src/Project/Items/ProjectItem.cs @@ -356,11 +356,16 @@ namespace ICSharpCode.SharpDevelop.Project return this.Clone(); } + /// + /// Gets/Sets the full path of the file represented by "Include". + /// For ProjectItems that are not assigned to any project, the getter returns the value of Include + /// and the setter throws a NotSupportedException. + /// [Browsable(false)] public virtual string FileName { get { if (project == null) { - throw new NotSupportedException("Not supported for items without project."); + return this.Include; } string fileName = this.fileNameCache; if (fileName == null) { diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs b/src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs index 4a5bd4f4ee..90912ecfb3 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs @@ -57,6 +57,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands string correctFileName = Path.Combine(Path.GetDirectoryName(c.CompilationUnit.FileName), c.Name + Path.GetExtension(c.CompilationUnit.FileName)); if (FileUtility.IsValidFileName(correctFileName) + && Path.IsPathRooted(correctFileName) && !File.Exists(correctFileName)) { if (c.CompilationUnit.Classes.Count == 1) {