diff options
author | Kevin Walzer <kw@codebykevin.com> | 2014-08-14 02:41:52 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2014-08-14 02:41:52 (GMT) |
commit | ab19054c699a4edb7222aafe4595c79a139d4fe4 (patch) | |
tree | 425dc3b379345df948cc759bd20295b8c09e0b23 /macosx/tkMacOSXMenu.c | |
parent | 2f0e2bae061937b0df9e7706be7e265b3fa0b3b0 (diff) | |
download | tk-ab19054c699a4edb7222aafe4595c79a139d4fe4.zip tk-ab19054c699a4edb7222aafe4595c79a139d4fe4.tar.gz tk-ab19054c699a4edb7222aafe4595c79a139d4fe4.tar.bz2 |
Allow Tk to post popup menus when Tk app is not frontmost
Diffstat (limited to 'macosx/tkMacOSXMenu.c')
-rw-r--r-- | macosx/tkMacOSXMenu.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/macosx/tkMacOSXMenu.c b/macosx/tkMacOSXMenu.c index 313a5cf..a8e9f2f 100644 --- a/macosx/tkMacOSXMenu.c +++ b/macosx/tkMacOSXMenu.c @@ -757,10 +757,18 @@ 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; |