summaryrefslogtreecommitdiff
path: root/src
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
parent2f8165f415d157d5b8412b27950964b6a0280773 (diff)
downloademacs-60ae3d09932f862ed6543b45f9c24d5d495bb6fb.tar.gz
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')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/xterm.c8
2 files changed, 13 insertions, 1 deletions
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 <eliz@gnu.org>
+
+ * 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 <eggert@cs.ucla.edu>
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;
+ }
}