Browse Source

Fix crash when no display bindings are available.

filemodels
Daniel Grunwald 12 years ago
parent
commit
9b9089d9b4
  1. 3
      src/Main/Base/Project/Workbench/DisplayBinding/IDisplayBinding.cs
  2. 2
      src/Main/SharpDevelop/Project/ProjectService.cs
  3. 2
      src/Main/SharpDevelop/Workbench/DisplayBinding/AutoDetectDisplayBinding.cs

3
src/Main/Base/Project/Workbench/DisplayBinding/IDisplayBinding.cs

@ -50,7 +50,10 @@ namespace ICSharpCode.SharpDevelop.Workbench @@ -50,7 +50,10 @@ namespace ICSharpCode.SharpDevelop.Workbench
/// </remarks>
/// <returns>
/// A newly created IViewContent object.
/// May return null if the view content could not be created.
/// </returns>
/// <exception cref="IOException">Error loading the file</exception>
/// <exception cref="FormatException">Error loading the file (invalid file format)</exception>
IViewContent CreateContentForFile(OpenedFile file);
}
}

2
src/Main/SharpDevelop/Project/ProjectService.cs

@ -36,7 +36,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -36,7 +36,7 @@ namespace ICSharpCode.SharpDevelop.Project
{
allSolutions = new NullSafeSimpleModelCollection<ISolution>();
allProjects = allSolutions.SelectMany(s => s.Projects);
projectBindings = SD.AddInTree.BuildItems<ProjectBindingDescriptor>("/SharpDevelop/Workbench/ProjectBindings", null);
projectBindings = SD.AddInTree.BuildItems<ProjectBindingDescriptor>("/SharpDevelop/Workbench/ProjectBindings", null, false);
targetFrameworks = SD.AddInTree.BuildItems<TargetFramework>("/SharpDevelop/TargetFrameworks", null);
SD.GetFutureService<IWorkbench>().ContinueWith(t => t.Result.ActiveViewContentChanged += ActiveViewContentChanged).FireAndForget();

2
src/Main/SharpDevelop/Workbench/DisplayBinding/AutoDetectDisplayBinding.cs

@ -68,7 +68,7 @@ namespace ICSharpCode.SharpDevelop.Workbench @@ -68,7 +68,7 @@ namespace ICSharpCode.SharpDevelop.Workbench
}
if (bestMatch == null)
throw new InvalidOperationException();
return null;
return bestMatch.Binding.CreateContentForFile(file);
}

Loading…
Cancel
Save