Mercurial > emacs
changeset 4627:340c18d50337
(Fx_popup_menu): Adjust coords so they are relative to the inner window.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 14 Aug 1993 10:30:09 +0000 |
parents | c5bbe7c3cfe3 |
children | e55cc9fdaa92 |
files | src/xmenu.c |
diffstat | 1 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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);