]> granicus.if.org Git - vim/commitdiff
patch 8.0.0820: GUI: cursor in terminal window lags behind v8.0.0820
authorBram Moolenaar <Bram@vim.org>
Sun, 30 Jul 2017 17:02:02 +0000 (19:02 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 30 Jul 2017 17:02:02 +0000 (19:02 +0200)
Problem:    GUI: cursor in terminal window lags behind.
Solution:   call gui_update_cursor() under different conditions. (Ozaki
            Kiichi, closes #1893)

src/terminal.c
src/version.c

index be76161e512ee1e1042c52c63f27083880356622..b289f6c994d2768fba40ba101cf11f833e2b1044 100644 (file)
@@ -51,6 +51,9 @@
  *     job finishes).
  * - add option values to the command:
  *      :term <24x80> <close> vim notes.txt
+ * - support different cursor shapes, colors and attributes
+ * - make term_getcursor() return type (none/block/bar/underline) and
+ *   attributes (color, blink, etc.)
  * - To set BS correctly, check get_stty(); Pass the fd of the pty.
  * - do not store terminal window in viminfo.  Or prefix term:// ?
  * - add a character in :ls output
@@ -359,7 +362,7 @@ update_cursor(term_T *term, int redraw)
            cursor_on();
        out_flush();
 #ifdef FEAT_GUI
-       if (gui.in_use && term->tl_cursor_visible)
+       if (gui.in_use)
            gui_update_cursor(FALSE, FALSE);
 #endif
     }
@@ -1034,7 +1037,7 @@ handle_movecursor(
     if (term->tl_buffer == curbuf)
     {
        may_toggle_cursor(term);
-       update_cursor(term, TRUE);
+       update_cursor(term, term->tl_cursor_visible);
     }
 
     return 1;
@@ -1180,11 +1183,12 @@ term_channel_closed(channel_T *ch)
        /* Need to break out of vgetc(). */
        ins_char_typebuf(K_IGNORE);
 
-       if (curbuf->b_term != NULL)
+       term = curbuf->b_term;
+       if (term != NULL)
        {
-           if (curbuf->b_term->tl_job == ch->ch_job)
+           if (term->tl_job == ch->ch_job)
                maketitle();
-           update_cursor(curbuf->b_term, TRUE);
+           update_cursor(term, term->tl_cursor_visible);
        }
     }
 }
index 2d4c50e0efb0fb9409a3b6aa57a0f2f8ff30aab2..8733db28edf2847062622a3d60898879a4456087 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    820,
 /**/
     819,
 /**/