summaryrefslogtreecommitdiff
path: root/mac
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2002-01-28 22:55:59 +0000
committerKim F. Storm <storm@cua.dk>2002-01-28 22:55:59 +0000
commit796d4ec7b100f02f9aac2682921619c79b74cb0a (patch)
tree07e31dc89d3f5d71a9fac0b546fbfeef5afd3e60 /mac
parentfa72cff4e303b76b42d35b5ff525bc75c5887504 (diff)
downloademacs-796d4ec7b100f02f9aac2682921619c79b74cb0a.tar.gz
(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.
Diffstat (limited to 'mac')
-rw-r--r--mac/src/macterm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mac/src/macterm.c b/mac/src/macterm.c
index 4893a551f8f..3def0223a92 100644
--- a/mac/src/macterm.c
+++ b/mac/src/macterm.c
@@ -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