(x_erase_phys_cursor): Don't erase cursor if cursor row

is invisible.  This can happen if cursor is on top line of a
window, and we switch to a buffer with a header line.
This commit is contained in:
Kim F. Storm 2002-01-28 22:55:59 +00:00
parent fa72cff4e3
commit 796d4ec7b1

View file

@ -8458,6 +8458,12 @@ x_erase_phys_cursor (w)
if (!cursor_row->enabled_p)
goto mark_cursor_off;
/* If row is completely invisible, don't attempt to delete a cursor which
isn't there. This can happen if cursor is at top of a window, and
we switch to a buffer with a header line in that window. */
if (cursor_row->visible_height <= 0)
goto mark_cursor_off;
/* This can happen when the new row is shorter than the old one.
In this case, either x_draw_glyphs or clear_end_of_line
should have cleared the cursor. Note that we wouldn't be