summaryrefslogtreecommitdiff
path: root/src/xterm.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-05-29 19:47:49 +0300
committerEli Zaretskii <eliz@gnu.org>2014-05-29 19:47:49 +0300
commit60ae3d09932f862ed6543b45f9c24d5d495bb6fb (patch)
treece6a89264037cde73fb4ed8e1dff64a68688b904 /src/xterm.c
parent2f8165f415d157d5b8412b27950964b6a0280773 (diff)
downloademacs-60ae3d09932f862ed6543b45f9c24d5d495bb6fb.tar.gz
emacs-60ae3d09932f862ed6543b45f9c24d5d495bb6fb.tar.bz2
emacs-60ae3d09932f862ed6543b45f9c24d5d495bb6fb.zip
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.
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c8
1 files changed, 7 insertions, 1 deletions
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;
+ }
}