]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #17588 with mouse highlight when an X frame is redisplayed frequently.
authorEli Zaretskii <eliz@gnu.org>
Thu, 29 May 2014 16:47:49 +0000 (19:47 +0300)
committerEli Zaretskii <eliz@gnu.org>
Thu, 29 May 2014 16:47:49 +0000 (19:47 +0300)
 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
src/xterm.c

index 2a3625b95dadcfd63c3fb35d19f395a3f42c324a..a07daee16694a3c67c6599579e52811fc353bfde 100644 (file)
@@ -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.
index ee8372fc65689d698496a94b2706bdeeaf4ce337..d4bb2256d3b17dca7159a09842ff91e93b979da2 100644 (file)
@@ -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;
+    }
 }