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. 24
      src/AddIns/Misc/PackageManagement/Project/Src/FileConflictResolver.cs

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

@ -9,12 +9,28 @@ 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)
{ {
var viewModel = new FileConflictViewModel(message); if (workbench.InvokeRequired) {
FileConflictView view = CreateFileConflictView(viewModel); return workbench.SafeThreadFunction(() => ResolveFileConflict(message));
view.ShowDialog(); } else {
return viewModel.GetResolution(); var viewModel = new FileConflictViewModel(message);
FileConflictView view = CreateFileConflictView(viewModel);
view.ShowDialog();
return viewModel.GetResolution();
}
} }
FileConflictView CreateFileConflictView(FileConflictViewModel viewModel) FileConflictView CreateFileConflictView(FileConflictViewModel viewModel)

Loading…
Cancel
Save