From 22294a56e8115801f7b515f71ca87342d3e2e558 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 24 Nov 2012 09:25:52 +0200 Subject: 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. --- src/ChangeLog | 7 +++++++ src/xdisp.c | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) 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 + + * 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 Eli Zaretskii 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; -- cgit v1.2.1