Don't optimized away tool tip redraw, may lead to corrupted text.

* src/xterm.c (handle_one_xevent): Always redraw tool tips on
MapNotify.  Update tool tip frame sizes on ConfigureNotify.
This commit is contained in:
Jan D 2015-04-03 13:59:05 +02:00
parent 7c691f32f7
commit c775195c62
2 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2015-04-03 Jan Djärv <jan.h.d@swipnet.se>
* xterm.c (handle_one_xevent): Always redraw tool tips on
MapNotify. Update tool tip frame sizes on ConfigureNotify.
2015-03-31 Eli Zaretskii <eliz@gnu.org>
* keyboard.c (read_key_sequence): Don't let

View file

@ -7010,11 +7010,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
goto OTHER;
case MapNotify:
if (event->xmap.window == tip_window)
/* The tooltip has been drawn already. Avoid
the SET_FRAME_GARBAGED below. */
goto OTHER;
/* We use x_top_window_to_frame because map events can
come for sub-windows and they don't mean that the
frame is visible. */
@ -7544,6 +7539,18 @@ handle_one_xevent (struct x_display_info *dpyinfo,
{
x_net_wm_state (f, event->xconfigure.window);
#ifdef USE_X_TOOLKIT
/* Tip frames are pure X window, set size for them. */
if (! NILP (tip_frame) && XFRAME (tip_frame) == f)
{
if (FRAME_PIXEL_HEIGHT (f) != event->xconfigure.height
|| FRAME_PIXEL_WIDTH (f) != event->xconfigure.width)
SET_FRAME_GARBAGED (f);
FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height;
FRAME_PIXEL_WIDTH (f) = event->xconfigure.width;
}
#endif
#ifndef USE_X_TOOLKIT
#ifndef USE_GTK
int width = FRAME_PIXEL_TO_TEXT_WIDTH (f, event->xconfigure.width);