mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-27 15:52:00 -08:00
* xmenu.c (Fx_popup_menu): Don't forget to turn the frame-relative
coordinates for the menu position into root-window-relative coordinates.
This commit is contained in:
parent
5e43ddf5ff
commit
c4e5d591e0
1 changed files with 25 additions and 3 deletions
28
src/xmenu.c
28
src/xmenu.c
|
|
@ -223,9 +223,31 @@ be the return value for that line (i.e. if it is selected).")
|
|||
}
|
||||
#endif
|
||||
BLOCK_INPUT;
|
||||
selection = xmenu_show (ROOT_WINDOW, XMenu_xpos, XMenu_ypos, names, menus,
|
||||
items, number_of_panes, obj_list, title,
|
||||
&error_name);
|
||||
{
|
||||
Window root;
|
||||
int root_x, root_y;
|
||||
int dummy_int;
|
||||
unsigned int dummy_uint;
|
||||
Window dummy_window;
|
||||
|
||||
/* Figure out which root window F is on. */
|
||||
XGetGeometry (x_current_display, FRAME_X_WINDOW (f), &root,
|
||||
&dummy_int, &dummy_int, &dummy_uint, &dummy_uint,
|
||||
&dummy_uint, &dummy_uint);
|
||||
|
||||
/* Translate the menu co-ordinates within f to menu co-ordinates
|
||||
on that root window. */
|
||||
if (! XTranslateCoordinates (x_current_display,
|
||||
FRAME_X_WINDOW (f), root,
|
||||
XMenu_xpos, XMenu_ypos, &root_x, &root_y,
|
||||
&dummy_window))
|
||||
/* But XGetGeometry said root was the root window of f's screen! */
|
||||
abort ();
|
||||
|
||||
selection = xmenu_show (root, XMenu_xpos, XMenu_ypos, names, menus,
|
||||
items, number_of_panes, obj_list, title,
|
||||
&error_name);
|
||||
}
|
||||
UNBLOCK_INPUT;
|
||||
/* fprintf (stderr, "selection = %x\n", selection); */
|
||||
if (selection != NUL)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue