]> git.eshelyaron.com Git - emacs.git/commitdiff
(update_frame_1): Handle case that cursor vpos is
authorGerd Moellmann <gerd@gnu.org>
Thu, 15 Jun 2000 22:51:37 +0000 (22:51 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 15 Jun 2000 22:51:37 +0000 (22:51 +0000)
out of bounds.

src/ChangeLog
src/dispnew.c

index 7ec49c531c430991edd71652a700b9f5e60fce8b..e3a423e7eae06cedaae6ad22b0c1df912ff2a618 100644 (file)
@@ -1,3 +1,8 @@
+2000-06-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_frame_1): Handle case that cursor vpos is 
+       out of bounds.
+
 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
index c114849bb0747e9fb9be4afea31fc87526202c32..da538cc658e26dc6bbcbc9e46b419566ca8f02c5 100644 (file)
@@ -4724,7 +4724,13 @@ update_frame_1 (f, force_p, inhibit_id_p)
          /* We have only one cursor on terminal frames.  Use it to
             display the cursor of the selected window.  */
          struct window *w = XWINDOW (FRAME_SELECTED_WINDOW (f));
-         if (w->cursor.vpos >= 0)
+         if (w->cursor.vpos >= 0
+             /* The cursor vpos may be temporarily out of bounds
+                in the following situation:  There is one window,
+                with the cursor in the lower half of it.  The window
+                is split, and a message causes a redisplay before
+                a new cursor position has been computed.  */
+             && w->cursor.vpos < XFASTINT (w->height))
            {
              int x = WINDOW_TO_FRAME_HPOS (w, w->cursor.hpos);
              int y = WINDOW_TO_FRAME_VPOS (w, w->cursor.vpos);