]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1817 v7.4.1817
authorBram Moolenaar <Bram@vim.org>
Wed, 4 May 2016 19:49:19 +0000 (21:49 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 4 May 2016 19:49:19 +0000 (21:49 +0200)
Problem:    The screen is not updated if a callback is invoked when closing a
            channel.
Solution:   Invoke redraw_after_callback().

src/channel.c
src/version.c

index 4b7b6f72c62b8890d75f512cbcbf149f3870b0d7..444599c7c2812406a45d5731d9587bf70dd89769 100644 (file)
@@ -2494,6 +2494,7 @@ channel_close(channel_T *channel, int invoke_close_cb)
                           &rettv, 1, argv, 0L, 0L, &dummy, TRUE,
                           channel->ch_close_partial, NULL);
              clear_tv(&rettv);
+             channel_need_redraw = TRUE;
          }
          --channel->ch_refcount;
 
@@ -2503,6 +2504,12 @@ channel_close(channel_T *channel, int invoke_close_cb)
          partial_unref(channel->ch_close_partial);
          channel->ch_close_partial = NULL;
 
+         if (channel_need_redraw)
+         {
+             channel_need_redraw = FALSE;
+             redraw_after_callback();
+         }
+
          /* any remaining messages are useless now */
          for (part = PART_SOCK; part <= PART_ERR; ++part)
              drop_messages(channel, part);
index cf4e2947fdd606386b02b10bb9d9e0ab88575499..79ca5cdc73c2a708c6fad5ecc20699db4d77cee9 100644 (file)
@@ -753,6 +753,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1817,
 /**/
     1816,
 /**/