aboutsummaryrefslogtreecommitdiffstats
path: root/src/xmenu.c
diff options
context:
space:
mode:
authorRichard M. Stallman1996-08-08 17:12:46 +0000
committerRichard M. Stallman1996-08-08 17:12:46 +0000
commitc8b5aa3de3255321ccd11e1412e0871e064aaa09 (patch)
tree8f4241fd31ef025ea517290af3fed6eb555138bf /src/xmenu.c
parentf0e252769dbc61816a10cf453b2bd32b11836e58 (diff)
downloademacs-c8b5aa3de3255321ccd11e1412e0871e064aaa09.tar.gz
emacs-c8b5aa3de3255321ccd11e1412e0871e064aaa09.zip
(xmenu_show): Set dummy.state.
Set dummy.button appropriately. (popup_get_selection) [USE_MOTIF]: Set event.xbutton.button.
Diffstat (limited to 'src/xmenu.c')
-rw-r--r--src/xmenu.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index d043ca2dfd3..cc8e0faa35e 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1115,6 +1115,12 @@ popup_get_selection (initial_event, dpyinfo, id)
1115 { 1115 {
1116 dpyinfo->grabbed &= ~(1 << event.xbutton.button); 1116 dpyinfo->grabbed &= ~(1 << event.xbutton.button);
1117 popup_activated_flag = 0; 1117 popup_activated_flag = 0;
1118#ifdef USE_MOTIF /* Pretending that the event came from a
1119 Btn1Down seems the only way to convince Motif to
1120 activate its callbacks; setting the XmNmenuPost
1121 isn't working. --marcus@sysc.pdx.edu. */
1122 event.xbutton.button = 1;
1123#endif
1118 } 1124 }
1119 /* If the user presses a key, deactivate the menu. 1125 /* If the user presses a key, deactivate the menu.
1120 The user is likely to do that if we get wedged. */ 1126 The user is likely to do that if we get wedged. */
@@ -1873,7 +1879,7 @@ free_frame_menubar (f)
1873/* F is the frame the menu is for. 1879/* F is the frame the menu is for.
1874 X and Y are the frame-relative specified position, 1880 X and Y are the frame-relative specified position,
1875 relative to the inside upper left corner of the frame F. 1881 relative to the inside upper left corner of the frame F.
1876 FOR_CLICK if this menu was invoked for a mouse click. 1882 FOR_CLICK is nonzero if this menu was invoked for a mouse click.
1877 KEYMAPS is 1 if this menu was specified with keymaps; 1883 KEYMAPS is 1 if this menu was specified with keymaps;
1878 in that case, we return a list containing the chosen item's value 1884 in that case, we return a list containing the chosen item's value
1879 and perhaps also the pane's prefix. 1885 and perhaps also the pane's prefix.
@@ -2110,7 +2116,6 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
2110 dummy.send_event = 0; 2116 dummy.send_event = 0;
2111 dummy.display = FRAME_X_DISPLAY (f); 2117 dummy.display = FRAME_X_DISPLAY (f);
2112 dummy.time = CurrentTime; 2118 dummy.time = CurrentTime;
2113 dummy.button = 0;
2114 dummy.root = FRAME_X_DISPLAY_INFO (f)->root_window; 2119 dummy.root = FRAME_X_DISPLAY_INFO (f)->root_window;
2115 dummy.window = dummy.root; 2120 dummy.window = dummy.root;
2116 dummy.subwindow = dummy.root; 2121 dummy.subwindow = dummy.root;
@@ -2118,6 +2123,11 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
2118 dummy.y_root = y; 2123 dummy.y_root = y;
2119 dummy.x = x; 2124 dummy.x = x;
2120 dummy.y = y; 2125 dummy.y = y;
2126 dummy.state = (FRAME_X_DISPLAY_INFO (f)->grabbed >> 1) * Button1Mask;
2127 dummy.button = 0;
2128 for (i = 0; i < 5; i++)
2129 if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
2130 dummy.button = i;
2121 2131
2122 /* Don't allow any geometry request from the user. */ 2132 /* Don't allow any geometry request from the user. */
2123 XtSetArg (av[ac], XtNgeometry, 0); ac++; 2133 XtSetArg (av[ac], XtNgeometry, 0); ac++;