# HG changeset patch # User Richard M. Stallman # Date 745324209 0 # Node ID 340c18d50337651271968435110416074747628a # Parent c5bbe7c3cfe385447be0311a876f92a1dd2b05bf (Fx_popup_menu): Adjust coords so they are relative to the inner window. diff -r c5bbe7c3cfe3 -r 340c18d50337 src/xmenu.c --- a/src/xmenu.c Sat Aug 14 09:38:56 1993 +0000 +++ b/src/xmenu.c Sat Aug 14 10:30:09 1993 +0000 @@ -168,6 +168,34 @@ but I don't want to make one now. */ CHECK_WINDOW (window, 0); +#ifdef HAVE_X11 + { + Window child; + int win_x = 0, win_y = 0; + + /* Find the position of the outside upper-left corner of + the inner window, with respect to the outer window. */ + if (f->display.x->parent_desc != ROOT_WINDOW) + { + BLOCK_INPUT; + XTranslateCoordinates (x_current_display, + + /* From-window, to-window. */ + f->display.x->window_desc, + f->display.x->parent_desc, + + /* From-position, to-position. */ + 0, 0, &win_x, &win_y, + + /* Child of window. */ + &child); + UNBLOCK_INPUT; + XMenu_xpos += win_x; + XMenu_ypos += win_y; + } + } +#endif + XMenu_xpos += FONT_WIDTH (f->display.x->font) * XINT (x); XMenu_ypos += FONT_HEIGHT (f->display.x->font) * XINT (y);