1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 02:31:03 -08:00

Fix redisplay bugs due to uninitialized glyphs in frame glyph pool.

dispnew.c (realloc_glyph_pool): Zero out newly allocated glyphs.
 msdos.c (IT_display_cursor): Log cursor position on termscript.
 .gdbinit (pgx): Display the avoid_cursor_p flag.
This commit is contained in:
Eli Zaretskii 2010-08-06 17:54:06 +03:00
parent 0613f5d515
commit cb4545adef
4 changed files with 20 additions and 3 deletions

View file

@ -535,6 +535,9 @@ define pgx
if ($g->overlaps_vertically_p)
printf " OVL"
end
if ($g->avoid_cursor_p)
printf " AVOID"
end
if ($g->left_box_line_p)
printf " ["
end

View file

@ -1,3 +1,11 @@
2010-08-06 Eli Zaretskii <eliz@gnu.org>
* dispnew.c (realloc_glyph_pool): Zero out newly allocated glyphs.
* msdos.c (IT_display_cursor): Log cursor position on termscript.
* .gdbinit (pgx): Display the avoid_cursor_p flag.
2010-08-06 Dan Nicolaescu <dann@ics.uci.edu>
* process.c: Remove HAVE_SOCKETS #ifdefs inside #ifdef

View file

@ -1528,7 +1528,11 @@ realloc_glyph_pool (struct glyph_pool *pool, struct dim matrix_dim)
int size = needed * sizeof (struct glyph);
if (pool->glyphs)
pool->glyphs = (struct glyph *) xrealloc (pool->glyphs, size);
{
pool->glyphs = (struct glyph *) xrealloc (pool->glyphs, size);
memset (pool->glyphs + pool->nglyphs, 0,
size - pool->nglyphs * sizeof (struct glyph));
}
else
{
pool->glyphs = (struct glyph *) xmalloc (size);

View file

@ -1593,14 +1593,16 @@ IT_display_cursor (int on)
ScreenSetCursor (current_pos_Y, current_pos_X);
cursor_cleared = 0;
if (tty->termscript)
fprintf (tty->termscript, "\nCURSOR ON");
fprintf (tty->termscript, "\nCURSOR ON (%dx%d)",
current_pos_Y, current_pos_X);
}
else if (!on && !cursor_cleared)
{
ScreenSetCursor (-1, -1);
cursor_cleared = 1;
if (tty->termscript)
fprintf (tty->termscript, "\nCURSOR OFF");
fprintf (tty->termscript, "\nCURSOR OFF (%dx%d)",
current_pos_Y, current_pos_X);
}
}