fix(ui-ext): send title to newly-attached UI

This commit is contained in:
zeertzjq 2023-05-11 10:48:48 +08:00
parent ee986ee044
commit 43d66c0ebb
4 changed files with 14 additions and 5 deletions

View File

@ -3444,7 +3444,6 @@ void resettitle(void)
{
ui_call_set_icon(cstr_as_string(lasticon));
ui_call_set_title(cstr_as_string(lasttitle));
ui_flush();
}
#if defined(EXITFREE)

View File

@ -4875,9 +4875,6 @@ static void ex_stop(exarg_T *eap)
ui_call_suspend();
ui_flush();
maketitle();
resettitle(); // force updating the title
ui_refresh(); // may have resized window
apply_autocmds(EVENT_VIMRESUME, NULL, NULL, false, NULL);
}

View File

@ -15,7 +15,7 @@
#include "nvim/api/ui.h"
#include "nvim/ascii.h"
#include "nvim/autocmd.h"
#include "nvim/buffer_defs.h"
#include "nvim/buffer.h"
#include "nvim/cursor_shape.h"
#include "nvim/drawscreen.h"
#include "nvim/ex_getln.h"
@ -348,6 +348,7 @@ void ui_attach_impl(UI *ui, uint64_t chanid)
uis[ui_count++] = ui;
ui_refresh_options();
resettitle();
for (UIExtension i = kUIGlobalCount; (int)i < kUIExtCount; i++) {
ui_set_ext_option(ui, i, ui->ui_ext[i]);

View File

@ -117,6 +117,12 @@ local function screen_tests(linegrid)
screen:expect(function()
eq(expected, screen.title)
end)
screen:detach()
screen.title = nil
screen:attach()
screen:expect(function()
eq(expected, screen.title)
end)
end)
end)
@ -128,6 +134,12 @@ local function screen_tests(linegrid)
screen:expect(function()
eq(expected, screen.icon)
end)
screen:detach()
screen.icon = nil
screen:attach()
screen:expect(function()
eq(expected, screen.icon)
end)
end)
end)