]> git.eshelyaron.com Git - emacs.git/commitdiff
(notice_overwritten_cursor): Handle the special case
authorGerd Moellmann <gerd@gnu.org>
Tue, 23 Apr 2002 15:44:46 +0000 (15:44 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 23 Apr 2002 15:44:46 +0000 (15:44 +0000)
of the cursor being in the first blank non-text line at the
end of a window.

src/ChangeLog
src/xterm.c

index 54ee39a23147a0017a7dff41c80b778074333b10..8a8b1ad7b3a1972945f220bf729dfa358512d6f8 100644 (file)
@@ -1,5 +1,9 @@
 2002-04-23  Gerd Moellmann  <gerd@gnu.org>
 
+       * xterm.c (notice_overwritten_cursor): Handle the special case
+       of the cursor being in the first blank non-text line at the
+       end of a window.
+       
        * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
        (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
        (x_display_and_set_cursor): Don't set phys_cursor_width here, for
index 9088d7a0e8072a48523f5f8bbcc3acd6565a9eac..d0a521d6e3c9c676decef0fdff925ad8315d1c22 100644 (file)
@@ -11243,9 +11243,14 @@ notice_overwritten_cursor (w, area, x0, x1, y0, y1)
             actually scrolling, so we don't come here.  When not
             scrolling, the rows above the old cursor row must have
             changed, and in this case these rows must have written
-            over the cursor image.  Likewise if part of the cursor is
-            below y1.  */
-         if ((y0 >= cy0 && y0 < cy1) || (y1 >= cy0 && y1 < cy1))
+            over the cursor image.
+
+            Likewise if part of the cursor is below y1, with the
+            exception of the cursor being in the first blank row at
+            the buffer and window end because update_text_area
+            doesn't draw that row.  */
+         if (((y0 >= cy0 && y0 < cy1) || (y1 >= cy0 && y1 < cy1))
+             && w->current_matrix->rows[w->phys_cursor.vpos].displays_text_p)
            w->phys_cursor_on_p = 0;
        }
     }