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:
@@ -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);
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user