1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00

* xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,

and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
This is to also handle x/y changes that occur because of a resize.
This commit is contained in:
Jan Djärv 2002-10-03 17:53:23 +00:00
parent 4c2f559e16
commit 0331883833
2 changed files with 24 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2002-10-03 Jan D. <jan.h.d@swipnet.se>
* xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
This is to also handle x/y changes that occur because of a resize.
2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
* frame.c (Vdelete_frame_functions): New variable.

View File

@ -11179,8 +11179,24 @@ XTread_socket (sd, bufp, numchars, expected)
in the emacs widget, which messes up Motif menus. */
if (event.xconfigure.x == 0 && event.xconfigure.y == 0)
{
event.xconfigure.x = f->output_data.x->widget->core.x;
event.xconfigure.y = f->output_data.x->widget->core.y;
Window child;
int count;
/* We can get a ConfigureNotify because of a resize,
so we can't just take x and y from the widget.
Since this event may come on something else than
the top level window, we can't use x_real_position
either. So we get the root window x/y for 0/0 in
the window in the event. */
count = x_catch_errors (FRAME_X_DISPLAY (f));
XTranslateCoordinates (FRAME_X_DISPLAY (f),
event.xconfigure.window,
FRAME_X_DISPLAY_INFO (f)->root_window,
0, 0,
&event.xconfigure.x,
&event.xconfigure.y,
&child);
x_uncatch_errors (FRAME_X_DISPLAY (f), count);
}
#endif /* USE_MOTIF */
}