Subject: bug#79193: 31.0.50; feature/igc: crashes with no gui frame

From: Gerd Möllmann <[email-masked]>
Date: Thu, 07 Aug 2025 20:04:50 +0200

Gerd Möllmann <[email-masked]> writes:

> Pip Cet <[email-masked]> writes:
>
>> Could you show glyph->frame, f, *glyph->frame, and *f in this stack
>> frame?
>>
>> Is it possible we're simply failing to trace glyph->frame in
>> fix_glyph_matrix? 
>
> IIRC, the idea was to not trace the glyph::frame in fix_matrix because
> that is not enough in the tty case because not everything is a window in
> that case. That lead to fix_glyph_pool and fix_glyph_matrix in the tty
> windows could be a nop because window matrices on ttys are sub-allocated
> from the pools.
>
> No, for some reason I did
>
>   a19e818265e ; Fix last change
>
> which removed the frame from fix_glyph_pool but left the braces which I
> normally dislike if it's only a single statement.
>
> And secondly, I don't check for window-system frames in
> fix_glyph_matrix.

I take that back, I just did is differently:

igc.c<cl-packages>:
 2365     if (w->current_matrix && !w->current_matrix->pool)
 2366       IGC_FIX_CALL (ss, fix_glyph_matrix (ss, w->current_matrix));

the pool is null on window systems. So that's okay.But the frame is
missing.