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
path: root/main/src
diff options
context:
space:
mode:
authorCody Russell <cody@jhu.edu>2015-02-10 18:13:03 +0300
committerCody Russell <cody@jhu.edu>2015-02-10 18:14:11 +0300
commitb65dd5ab63964d14a6f477cc3fe25448aeef21e0 (patch)
tree6c39d468825a253c7c966c975ad6b2d0c5bde0d6 /main/src
parent352af9401d462b26a2556bc8e2149acdf9f9055a (diff)
[Mac] Force dialog windows above native docking pads
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=26908
Diffstat (limited to 'main/src')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs
index 7c3e5810db..3168e03a05 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs
@@ -30,6 +30,7 @@
using System;
using System.Xml;
+using System.Linq;
using System.Collections;
using System.Collections.Generic;
using Gtk;
@@ -877,6 +878,15 @@ namespace MonoDevelop.Components.Docking
Ide.DesktopService.AddChildWindow ((Gtk.Window)Toplevel, win);
win.AcceptFocus = true;
win.Opacity = 1.0;
+
+ /* When we use real windows for frames, it's possible for pads to be over other
+ * windows. For some reason simply presenting or raising those dialogs doesn't
+ * seem to work, so we hide/show them in order to force them above the pad. */
+ var toplevels = Gtk.Window.ListToplevels ().Where (t => t.IsRealized && t.TypeHint == WindowTypeHint.Dialog); // && t.TransientFor != null);
+ foreach (var t in toplevels) {
+ t.Hide ();
+ t.Show ();
+ }
} else {
w.Parent = this;
w.Size = new Size (width, height);