Browse Source

Fix exception when there is a file conflict installing jQuery.

Always use UI thread when opening FileConflictResolver dialog
when running PowerShell scripts.
pull/44/head
Matt Ward 12 years ago
parent
commit
87fd34a1de
  1. 16
      src/AddIns/Misc/PackageManagement/Project/Src/FileConflictResolver.cs

16
src/AddIns/Misc/PackageManagement/Project/Src/FileConflictResolver.cs

@ -9,13 +9,29 @@ namespace ICSharpCode.PackageManagement
{ {
public class FileConflictResolver : ServiceWithWorkbenchOwner, IFileConflictResolver public class FileConflictResolver : ServiceWithWorkbenchOwner, IFileConflictResolver
{ {
IPackageManagementWorkbench workbench;
public FileConflictResolver()
: this(new PackageManagementWorkbench())
{
}
public FileConflictResolver(IPackageManagementWorkbench workbench)
{
this.workbench = workbench;
}
public FileConflictResolution ResolveFileConflict(string message) public FileConflictResolution ResolveFileConflict(string message)
{ {
if (workbench.InvokeRequired) {
return workbench.SafeThreadFunction(() => ResolveFileConflict(message));
} else {
var viewModel = new FileConflictViewModel(message); var viewModel = new FileConflictViewModel(message);
FileConflictView view = CreateFileConflictView(viewModel); FileConflictView view = CreateFileConflictView(viewModel);
view.ShowDialog(); view.ShowDialog();
return viewModel.GetResolution(); return viewModel.GetResolution();
} }
}
FileConflictView CreateFileConflictView(FileConflictViewModel viewModel) FileConflictView CreateFileConflictView(FileConflictViewModel viewModel)
{ {

Loading…
Cancel
Save