From eedd9ddba73134f69a9ad4c0382d168bfd7f4dc2 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 28 Sep 2010 13:04:07 +0200 Subject: [PATCH] Fix http://community.sharpdevelop.net/forums/t/11954.aspx - Cannot select project resource as form icon: "This operation can be called on the main thread only" --- .../Project/Src/Gui/ImageResourceEditorDialog.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ImageResourceEditorDialog.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ImageResourceEditorDialog.cs index d5305cfbe3..3712b0333b 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ImageResourceEditorDialog.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ImageResourceEditorDialog.cs @@ -17,6 +17,7 @@ using ICSharpCode.Core.WinForms; using ICSharpCode.FormsDesigner.Services; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.FormsDesigner.Gui @@ -369,11 +370,15 @@ namespace ICSharpCode.FormsDesigner.Gui Dictionary GetResources(string fileName) { - Stream s; - OpenedFile file = FileService.GetOpenedFile(fileName); - if (file != null) { - s = file.OpenRead(); - } else { + Stream s = null; + WorkbenchSingleton.SafeThreadCall( + delegate { + OpenedFile file = FileService.GetOpenedFile(fileName); + if (file != null) { + s = file.OpenRead(); + } + }); + if (s == null) { s = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); } using(s) {