Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUngureanu Marius <teromario@yahoo.com>2014-04-05 19:52:10 +0400
committerUngureanu Marius <teromario@yahoo.com>2014-04-05 19:52:10 +0400
commit05903e6c3764ad9b990de21d7a72103107b48b54 (patch)
tree83183169566364175d4bc7f88bd5306845a6088c /main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views
parent461b6a2b8dde3d5e4cda682ac5e2dd647d92bde3 (diff)
[VersionControl] Don't lock the GUI thread.
Diffstat (limited to 'main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views')
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/VersionControlDocumentInfo.cs16
1 files changed, 11 insertions, 5 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/VersionControlDocumentInfo.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/VersionControlDocumentInfo.cs
index 19019443a7..de20609b6c 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/VersionControlDocumentInfo.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/VersionControlDocumentInfo.cs
@@ -96,17 +96,23 @@ namespace MonoDevelop.VersionControl.Views
object updateLock = new object ();
ManualResetEvent mre = new ManualResetEvent (false);
-
+
+ // Runs an action in the GUI thread.
public void RunAfterUpdate (Action act)
{
if (mre == null) {
act ();
return;
}
- mre.WaitOne ();
- act ();
- mre.Dispose ();
- mre = null;
+
+ ThreadPool.QueueUserWorkItem (delegate {
+ mre.WaitOne ();
+ mre.Dispose ();
+ mre = null;
+ DispatchService.GuiDispatch (delegate {
+ act ();
+ });
+ });
}
protected virtual void OnUpdated (EventArgs e)