diff options
author | Vsevolod Kukol <sevoku@microsoft.com> | 2019-08-15 13:14:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-15 13:14:47 +0300 |
commit | fc9b1657dce30c6bf2046fcd37e14ace4a0333a8 (patch) | |
tree | 8b4ed90cb3b06cb406ffe1e041662b8c520c7f88 /main | |
parent | bc6cf1418946bfde9059702075970b782c1564b7 (diff) | |
parent | ec2673d37d841fa0a2c1ebacccdc3eb3fa7ae574 (diff) |
Merge pull request #8339 from mono/backport-pr-8338-to-release-8.2
[release-8.2] [Ide] Run all WelcomePageService operations on main UI thread
Diffstat (limited to 'main')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs index dd003cab69..7d59ecb6e6 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs @@ -110,23 +110,26 @@ namespace MonoDevelop.Ide.WelcomePage // Try to get a dialog version of the "welcome screen" first if (!await ShowWelcomeWindow (options)) { - ShowWelcomePage (true); + await Runtime.RunInMainThread (() => ShowWelcomePage (true)); } } public static async void HideWelcomePageOrWindow () { - if (WelcomeWindowProvider != null) { - await WelcomeWindowProvider.HideWindow (); - WelcomeWindowHidden?.Invoke (WelcomeWindow, EventArgs.Empty); - } else { - HideWelcomePage (true); - } - visible = false; + await Runtime.RunInMainThread (async () => { + if (WelcomeWindowProvider != null) { + await WelcomeWindowProvider.HideWindow (); + visible = false; + WelcomeWindowHidden?.Invoke (WelcomeWindow, EventArgs.Empty); + } else { + HideWelcomePage (true); + } + }); } public static void ShowWelcomePage (bool animate = false) { + Runtime.AssertMainThread (); if (!visible) { visible = true; if (welcomePage == null) { @@ -150,6 +153,7 @@ namespace MonoDevelop.Ide.WelcomePage public static void HideWelcomePage (bool animate = false) { + Runtime.AssertMainThread (); if (visible) { visible = false; ((DefaultWorkbench)IdeApp.Workbench.RootWindow).BottomBar.Show (); @@ -164,10 +168,11 @@ namespace MonoDevelop.Ide.WelcomePage return false; } - await WelcomeWindowProvider.ShowWindow (options); - visible = true; - - WelcomeWindowShown?.Invoke (WelcomeWindow, EventArgs.Empty); + await Runtime.RunInMainThread (async () => { + await WelcomeWindowProvider.ShowWindow (options); + visible = true; + WelcomeWindowShown?.Invoke (WelcomeWindow, EventArgs.Empty); + }); return true; } |