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))
|
if (FRAME_WINDOW_P (f))
|
||||||
adjust_frame_glyphs_for_window_redisplay (f);
|
adjust_frame_glyphs_for_window_redisplay (f);
|
||||||
else
|
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. */
|
/* Don't forget the buffer for decode_mode_spec. */
|
||||||
adjust_decode_mode_spec_buffer (f);
|
adjust_decode_mode_spec_buffer (f);
|
||||||
@ -2119,6 +2130,19 @@ adjust_frame_glyphs_for_frame_redisplay (struct frame *f)
|
|||||||
SET_FRAME_GARBAGED (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