diff options
| author | Richard M. Stallman | 1996-08-08 17:12:46 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1996-08-08 17:12:46 +0000 |
| commit | c8b5aa3de3255321ccd11e1412e0871e064aaa09 (patch) | |
| tree | 8f4241fd31ef025ea517290af3fed6eb555138bf /src | |
| parent | f0e252769dbc61816a10cf453b2bd32b11836e58 (diff) | |
| download | emacs-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')
| -rw-r--r-- | src/xmenu.c | 14 |
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++; |