0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 7.4.1817

Problem:    The screen is not updated if a callback is invoked when closing a
            channel.
Solution:   Invoke redraw_after_callback().
This commit is contained in:
Bram Moolenaar
2016-05-04 21:49:19 +02:00
parent d8585eded6
commit cefe4f9948
2 changed files with 9 additions and 0 deletions

View File

@@ -2494,6 +2494,7 @@ channel_close(channel_T *channel, int invoke_close_cb)
&rettv, 1, argv, 0L, 0L, &dummy, TRUE, &rettv, 1, argv, 0L, 0L, &dummy, TRUE,
channel->ch_close_partial, NULL); channel->ch_close_partial, NULL);
clear_tv(&rettv); clear_tv(&rettv);
channel_need_redraw = TRUE;
} }
--channel->ch_refcount; --channel->ch_refcount;
@@ -2503,6 +2504,12 @@ channel_close(channel_T *channel, int invoke_close_cb)
partial_unref(channel->ch_close_partial); partial_unref(channel->ch_close_partial);
channel->ch_close_partial = NULL; channel->ch_close_partial = NULL;
if (channel_need_redraw)
{
channel_need_redraw = FALSE;
redraw_after_callback();
}
/* any remaining messages are useless now */ /* any remaining messages are useless now */
for (part = PART_SOCK; part <= PART_ERR; ++part) for (part = PART_SOCK; part <= PART_ERR; ++part)
drop_messages(channel, part); drop_messages(channel, part);

View File

@@ -753,6 +753,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1817,
/**/ /**/
1816, 1816,
/**/ /**/