]> code.delx.au - gnu-emacs/commitdiff
Fix assertion violations when clicking on Info bread-crumbs.
authorEli Zaretskii <eliz@gnu.org>
Sat, 24 Nov 2012 07:25:52 +0000 (09:25 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 24 Nov 2012 07:25:52 +0000 (09:25 +0200)
 src/xdisp.c (draw_glyphs): Don't draw in mouse face if mouse
 highlighting on the frame was cleared.  Prevents assertion
 violations when repeatedly clicking on the "Top" link of the
 "bread-crumbs" in Info buffers.

src/ChangeLog
src/xdisp.c

index 8ca913b75fcf933ad262385ce0c9c1a77c104e7a..6c9893b2f4f9d46e6748fe8bb5bae82b89fc6ef3 100644 (file)
@@ -1,3 +1,10 @@
+2012-11-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse
+       highlighting on the frame was cleared.  Prevents assertion
+       violations when repeatedly clicking on the "Top" link of the
+       "bread-crumbs" in Info buffers.
+
 2012-11-23  Paul Eggert  <eggert@cs.ucla.edu>
            Eli Zaretskii  <eliz@gnu.org>
 
index 4bb744a2f9de05817b83282bc0f9cf68ed08a9b3..8336594ca6142aefc982795074ae11abedd5c326 100644 (file)
@@ -23512,7 +23512,9 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
 
       /* If mouse highlighting is on, we may need to draw adjacent
         glyphs using mouse-face highlighting.  */
-      if (area == TEXT_AREA && row->mouse_face_p)
+      if (area == TEXT_AREA && row->mouse_face_p
+         && hlinfo->mouse_face_beg_row >= 0
+         && hlinfo->mouse_face_end_row >= 0)
        {
          struct glyph_row *mouse_beg_row, *mouse_end_row;