diff options
author | Cody Russell <cody@jhu.edu> | 2015-08-29 05:56:20 +0300 |
---|---|---|
committer | Cody Russell <cody@jhu.edu> | 2015-08-29 05:56:20 +0300 |
commit | f2be808ea00584bdb1efa76fcde5e5b557e304ef (patch) | |
tree | 359439d4566b268c91d1c117deb0e23cf1120547 /main/src/core/MonoDevelop.Ide | |
parent | 24b4c375536b49b583beb2163104761966ca088b (diff) |
[Mac] Fix context menu positioning for auto-hide pad windows
Don't include the titlebar offset when computing the context menu
position for these types of windows.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=31738
Diffstat (limited to 'main/src/core/MonoDevelop.Ide')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components/ContextMenuExtensionsMac.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/ContextMenuExtensionsMac.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/ContextMenuExtensionsMac.cs index 0b03a1e8a3..72af1adc72 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/ContextMenuExtensionsMac.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/ContextMenuExtensionsMac.cs @@ -67,8 +67,16 @@ namespace MonoDevelop.Components var toplevel = parent.Toplevel as Gtk.Window; var nswindow = MonoDevelop.Components.Mac.GtkMacInterop.GetNSWindow (toplevel); - var titleBarHeight = MonoDevelop.Components.Mac.GtkMacInterop.GetTitleBarHeight (); - var pt = new CoreGraphics.CGPoint (x, nswindow.Frame.Height - y - titleBarHeight - 12); + + int titleBarOffset; + if (toplevel.TypeHint == Gdk.WindowTypeHint.Toolbar && toplevel.Type == Gtk.WindowType.Toplevel && toplevel.Decorated == false) { + // Undecorated toplevel toolbars are used for auto-hide pad windows. Don't add a titlebar offset for them. + titleBarOffset = 0; + } else { + titleBarOffset = MonoDevelop.Components.Mac.GtkMacInterop.GetTitleBarHeight () + 12; + } + + var pt = new CoreGraphics.CGPoint (x, nswindow.Frame.Height - y - titleBarOffset); var tmp_event = NSEvent.MouseEvent (NSEventType.LeftMouseDown, pt, |