summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2012-11-24 09:25:52 +0200
committerEli Zaretskii <eliz@gnu.org>2012-11-24 09:25:52 +0200
commit22294a56e8115801f7b515f71ca87342d3e2e558 (patch)
tree338d30ded930371903c762ffafa287911f398a70
parent259719a65db5d0aa315d6f942f333494b88619a2 (diff)
downloademacs-22294a56e8115801f7b515f71ca87342d3e2e558.tar.gz
Fix assertion violations when clicking on Info bread-crumbs.
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.
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xdisp.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8ca913b75fc..6c9893b2f4f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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>
diff --git a/src/xdisp.c b/src/xdisp.c
index 4bb744a2f9d..8336594ca61 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -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;