]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #15913 with disappearing mouse highlight on MS-Windows.
authorEli Zaretskii <eliz@gnu.org>
Sun, 17 Nov 2013 21:02:09 +0000 (23:02 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sun, 17 Nov 2013 21:02:09 +0000 (23:02 +0200)
 src/w32term.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/w32term.c

index de4c1dc65316ec4f9a90a55e79bdc74b869bbaba..2b88d076b8cd27e35d37efab74fc3af7a08c78bb 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.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#15913)
+
 2013-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        * lisp.h (DEBUGGER_SEES_C_MACROS): Remove.
index 275df927313ef1095fd9c8679146801396c9c789..90cc204239eaa30d2d0ac0d5b8681b25df8d97e3 100644 (file)
@@ -656,7 +656,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;
+    }
 
   /* Unhide the caret.  This won't actually show the cursor, unless it
      was visible before the corresponding call to HideCaret in