From 60ae3d09932f862ed6543b45f9c24d5d495bb6fb Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 29 May 2014 19:47:49 +0300 Subject: [PATCH] Fix bug #17588 with mouse highlight when an X frame is redisplayed frequently. src/xterm.c (x_update_window_end): Don't invalidate the entire mouse-highlight info, just signal frame_up_to_date_hook that mouse highlight needs to be redisplayed. --- src/ChangeLog | 6 ++++++ src/xterm.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2a3625b95da..a07daee1669 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2014-05-29 Eli Zaretskii + + * xterm.c (x_update_window_end): Don't invalidate the entire + mouse-highlight info, just signal frame_up_to_date_hook that mouse + highlight needs to be redisplayed. (Bug#17588) + 2014-05-29 Paul Eggert Port the GDB-visible symbols to AIX. diff --git a/src/xterm.c b/src/xterm.c index ee8372fc656..d4bb2256d3b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -597,7 +597,13 @@ x_update_window_end (struct window *w, bool cursor_on_p, /* If a row with mouse-face was overwritten, arrange for XTframe_up_to_date to redisplay the mouse highlight. */ if (mouse_face_overwritten_p) - reset_mouse_highlight (MOUSE_HL_INFO (XFRAME (w->frame))); + { + Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame)); + + hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1; + hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1; + hlinfo->mouse_face_window = Qnil; + } } -- 2.39.5