mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-09 15:50:21 +00:00
Fix segfaults when starting on 80x26 TTY frames
* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Make sure we have valid frame glyph matrices for the interactive session. (Bug#55760) (adjust_frame_glyphs): Add assertions for when we fail to allocate valid frame glyph matrices for a TTY frame.
This commit is contained in:
parent
bfa647972f
commit
ef5651cc77
@ -1837,7 +1837,18 @@ adjust_frame_glyphs (struct frame *f)
|
||||
if (FRAME_WINDOW_P (f))
|
||||
adjust_frame_glyphs_for_window_redisplay (f);
|
||||
else
|
||||
adjust_frame_glyphs_for_frame_redisplay (f);
|
||||
{
|
||||
adjust_frame_glyphs_for_frame_redisplay (f);
|
||||
eassert (FRAME_INITIAL_P (f)
|
||||
|| noninteractive
|
||||
|| !initialized
|
||||
|| (f->current_matrix
|
||||
&& f->current_matrix->nrows > 0
|
||||
&& f->current_matrix->rows
|
||||
&& f->desired_matrix
|
||||
&& f->desired_matrix->nrows > 0
|
||||
&& f->desired_matrix->rows));
|
||||
}
|
||||
|
||||
/* Don't forget the buffer for decode_mode_spec. */
|
||||
adjust_decode_mode_spec_buffer (f);
|
||||
@ -2119,6 +2130,19 @@ adjust_frame_glyphs_for_frame_redisplay (struct frame *f)
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
else if (!FRAME_INITIAL_P (f) && !noninteractive && initialized)
|
||||
{
|
||||
if (!f->desired_matrix->nrows || !f->desired_matrix->rows)
|
||||
{
|
||||
adjust_glyph_matrix (NULL, f->desired_matrix, 0, 0, matrix_dim);
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
if (!f->current_matrix->nrows || !f->current_matrix->rows)
|
||||
{
|
||||
adjust_glyph_matrix (NULL, f->current_matrix, 0, 0, matrix_dim);
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user