Browse Source

Fixed forum-17295: NullReferenceException when right clicking on "MyApplication" module that has one part in user code and one part in compiler generated code.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2540 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
f9ade6122e
  1. 12
      src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs
  2. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs
  3. 2
      src/Main/StartUp/Project/SharpDevelopMain.cs

12
src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs

@ -53,12 +53,22 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -53,12 +53,22 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
// This should prefer non-designer files over designer files.
IClass preferredClass = parts[0];
for (int i = 1; i < parts.Count; i++) {
if (parts[i].CompilationUnit.FileName.Length < preferredClass.CompilationUnit.FileName.Length)
if (IsShorterFileName(parts[i].CompilationUnit.FileName, preferredClass.CompilationUnit.FileName))
preferredClass = parts[i];
}
return preferredClass;
}
static bool IsShorterFileName(string a, string b)
{
// Fix forum-17295: compilation unit's file name might be null: prefer the non-null file
if (a == null)
return false;
if (b == null)
return true;
return a.Length < b.Length;
}
static IClass GetCurrentPart(IClass possibleCompound)
{
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;

2
src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs

@ -145,7 +145,7 @@ namespace ICSharpCode.Core @@ -145,7 +145,7 @@ namespace ICSharpCode.Core
get {
return enabled;
}
internal set {
set {
enabled = value;
this.Action = value ? AddInAction.Enable : AddInAction.Disable;
}

2
src/Main/StartUp/Project/SharpDevelopMain.cs

@ -72,7 +72,7 @@ namespace ICSharpCode.SharpDevelop @@ -72,7 +72,7 @@ namespace ICSharpCode.SharpDevelop
// LoggingService requires ICSharpCode.Core.dll and log4net.dll
// When a method containing a call to LoggingService is JITted, the
// libraries are loaded.
// We want to show the SplashScreen while those libraries are loaded, so
// We want to show the SplashScreen while those libraries are loading, so
// don't call LoggingService.
#if DEBUG

Loading…
Cancel
Save