Fix bug #9902 with crash caused by clearing mouse highlight.
authorEli Zaretskii <eliz@gnu.org>
Sat, 29 Oct 2011 09:36:42 +0000 (11:36 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 29 Oct 2011 09:36:42 +0000 (11:36 +0200)
 src/xdisp.c (note_mouse_highlight): Don't clear mouse highlight if
 hlinfo->mouse_face_window is nil.

src/ChangeLog
src/xdisp.c

index 5a7d66c..69c202f 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (note_mouse_highlight): Don't clear mouse highlight if
+       hlinfo->mouse_face_window is nil.  (Bug#9902)
+
 2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
 
        * minibuf.c (read_minibuf_noninteractive): Allow reading empty
index 22f7c2b..3cce801 100644 (file)
@@ -26835,14 +26835,14 @@ note_mouse_highlight (struct frame *f, int x, int y)
   /* Which window is that in?  */
   window = window_from_coordinates (f, x, y, &part, 1);
 
-  /* If displaying active text in another window, clear that.  */
-  if (! EQ (window, hlinfo->mouse_face_window)
-      /* Also clear if we move out of text area in same window.  */
-      || (!NILP (hlinfo->mouse_face_window)
-         && !NILP (window)
-         && part != ON_TEXT
-         && part != ON_MODE_LINE
-         && part != ON_HEADER_LINE))
+  if (!NILP (hlinfo->mouse_face_window)
+      /* If displaying active text in another window, clear that.  */
+      && (!EQ (window, hlinfo->mouse_face_window)
+         /* Also clear if we move out of text area in same window.  */
+         || (!NILP (window)
+             && part != ON_TEXT
+             && part != ON_MODE_LINE
+             && part != ON_HEADER_LINE)))
     clear_mouse_face (hlinfo);
 
   /* Not on a window -> return.  */