diff options
author | Greg Munn <greg@sgmunn.com> | 2015-12-10 17:44:35 +0300 |
---|---|---|
committer | Greg Munn <greg@sgmunn.com> | 2015-12-10 17:44:35 +0300 |
commit | 7dda03a643c4591eaed16defe5c9fe945a474f63 (patch) | |
tree | 3b40ef69ebc9845cf951b171ccad40ebfaab3364 /main | |
parent | b59a327f36ac8206489a8416401fb367450121c0 (diff) | |
parent | 31b39eb0ee314b84b84819869d170f4dd819ef26 (diff) |
Merge pull request #1170 from mono/cycle6-fix-mac-menus
[MacPlatform] Move the Modal window detection from a whitelist to a blacklist
Diffstat (limited to 'main')
-rw-r--r-- | main/src/addins/MacPlatform/MacPlatform.cs | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/main/src/addins/MacPlatform/MacPlatform.cs b/main/src/addins/MacPlatform/MacPlatform.cs index 5777cdddfa..bdea64782d 100644 --- a/main/src/addins/MacPlatform/MacPlatform.cs +++ b/main/src/addins/MacPlatform/MacPlatform.cs @@ -788,14 +788,8 @@ namespace MonoDevelop.MacIntegration { var toplevels = GtkQuartz.GetToplevels (); - // When we're looking for modal windows that don't belong to GTK, exclude - // NSStatusBarWindow (which is visible on Mavericks when we're in fullscreen) and - // NSToolbarFullscreenWindow (which is visible on Yosemite in fullscreen). - return toplevels.Any (t => t.Key.IsVisible && (t.Value == null || t.Value.Modal) && - !(t.Key.DebugDescription.StartsWith("<NSStatusBarWindow", StringComparison.Ordinal) || - t.Key.DebugDescription.StartsWith ("<NSToolbarFullScreenWindow", StringComparison.Ordinal) || - t.Key.DebugDescription.StartsWith ("<NSCarbonMenuWindow", StringComparison.Ordinal) - )); + // Check GtkWindow's Modal flag or for a visible NSPanel + return toplevels.Any (t => (t.Value != null && t.Value.Modal && t.Value.Visible) || (t.Key.IsVisible && (t.Key is NSPanel))); } public override void AddChildWindow (Gtk.Window parent, Gtk.Window child) |