Fix cursor drawing and whole screen scrolling

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2009-12-02 21:03:41 +01:00
parent e59e3e59ca
commit 17d1956f5c

View file

@ -754,19 +754,22 @@ real_scroll (void)
} }
/* Draw cursor if visible. */
if (virtual_screen.cursor_state)
draw_cursor (1);
was_scroll = virtual_screen.total_scroll; was_scroll = virtual_screen.total_scroll;
virtual_screen.total_scroll = 0; virtual_screen.total_scroll = 0;
if (was_scroll > virtual_screen.rows)
was_scroll = virtual_screen.rows;
/* Draw shadow part. */ /* Draw shadow part. */
for (i = virtual_screen.rows - was_scroll; for (i = virtual_screen.rows - was_scroll;
i < virtual_screen.rows; i++) i < virtual_screen.rows; i++)
for (j = 0; j < virtual_screen.columns; j++) for (j = 0; j < virtual_screen.columns; j++)
paint_char (j, i); paint_char (j, i);
/* Draw cursor if visible. */
if (virtual_screen.cursor_state)
draw_cursor (1);
if (repaint_callback) if (repaint_callback)
repaint_callback (window.x, window.y, window.width, window.height); repaint_callback (window.x, window.y, window.width, window.height);
} }