summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Walzer <kw@codebykevin.com>2014-08-14 02:39:53 (GMT)
committerKevin Walzer <kw@codebykevin.com>2014-08-14 02:39:53 (GMT)
commit06b7a5736c5eab08bed8e4283b0364cff3fbee7a (patch)
tree3d79989dd17d9146bc2079a2955df9c7822f64e7
parent66529281fbda96a28f5a2e975e26553916947271 (diff)
downloadtk-06b7a5736c5eab08bed8e4283b0364cff3fbee7a.zip
tk-06b7a5736c5eab08bed8e4283b0364cff3fbee7a.tar.gz
tk-06b7a5736c5eab08bed8e4283b0364cff3fbee7a.tar.bz2
Allow Tk to post popup menus when Tk app is not frontmost
-rw-r--r--macosx/tkMacOSXMenu.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/macosx/tkMacOSXMenu.c b/macosx/tkMacOSXMenu.c
index 380d3a7..e1cdc76 100644
--- a/macosx/tkMacOSXMenu.c
+++ b/macosx/tkMacOSXMenu.c
@@ -757,11 +757,19 @@ TkpPostMenu(
* to be posted. */
int y) /* The global y-coordinate */
{
- NSWindow *win = [NSApp keyWindow];
- if (!win) {
+
+
+ /* Get the object that holds this Tk Window.*/
+ Tk_Window root;
+ root = Tk_MainWindow(interp);
+ if (root == NULL) {
return TCL_ERROR;
}
-
+
+ Drawable d = Tk_WindowId(root);
+ NSView *rootview = TkMacOSXGetRootControl(d);
+ NSWindow *win = [rootview window];
+
inPostMenu = 1;
int oldMode = Tcl_SetServiceMode(TCL_SERVICE_NONE);