bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21394: 25.0.50; Segfault when displaying unprintable character in ec


From: Eli Zaretskii
Subject: bug#21394: 25.0.50; Segfault when displaying unprintable character in echo area while frames are being created
Date: Wed, 02 Sep 2015 18:16:22 +0300

> Date: Tue, 1 Sep 2015 20:19:58 +0000
> From: Pip Cet <pipcet@gmail.com>
> Cc: 21394@debbugs.gnu.org
> 
> That caches a face id in last_escape_glyph_merged_face_id, which is cleared
> only in redisplay_internal(). But message() doesn't call redisplay_internal(),
> it calls try_window() directly (xdisp.c:10687) (and resize_window before that,
> which blows up).

I think you are right, thanks.

> This patch appears, so far, to run without a segfault

Can you please verify that when the (unmodified) code does segfault,
the offending face ID is indeed stored in
last_escape_glyph_merged_face_id?  I'd like to be sure we have really
found the source of that face ID.

Also, I think that those 4 lines of code should be in a function, and
that function should also be called from free_realized_faces, where we
set c->used to zero.  I couldn't convince myself that
free_realized_faces could never be called while redisplay runs (and
even if now it isn't, I'd like us to be more future-proof in this
respect).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]