aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-02-13 09:46:16 +0800
committerGitHub <noreply@github.com>2023-02-13 09:46:16 +0800
commit89722ddfac51b0f7cbe5f4b0914e19ee9e8fdfd6 (patch)
treef65990494f48136bb9f8fa77de31ea1d8b5c94b7 /src
parent5d3769ea2343a30c60963011bef85346320bd97c (diff)
parent41ebe41b62921142bb486e5f30bd2fa9f53f1700 (diff)
downloadrneovim-89722ddfac51b0f7cbe5f4b0914e19ee9e8fdfd6.tar.gz
rneovim-89722ddfac51b0f7cbe5f4b0914e19ee9e8fdfd6.tar.bz2
rneovim-89722ddfac51b0f7cbe5f4b0914e19ee9e8fdfd6.zip
Merge pull request #22233 from zeertzjq/resize-screenclear
fix(ui): make sure screen is valid after resizing
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/ui.c2
-rw-r--r--src/nvim/drawscreen.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c
index 3ad625234c..8f5465db77 100644
--- a/src/nvim/api/ui.c
+++ b/src/nvim/api/ui.c
@@ -645,6 +645,8 @@ void remote_ui_grid_resize(UI *ui, Integer grid, Integer width, Integer height)
Array args = data->call_buf;
if (ui->ui_ext[kUILinegrid]) {
ADD_C(args, INTEGER_OBJ(grid));
+ } else {
+ data->client_col = -1; // force cursor update
}
ADD_C(args, INTEGER_OBJ(width));
ADD_C(args, INTEGER_OBJ(height));
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
index 2bc335a7e0..814d443031 100644
--- a/src/nvim/drawscreen.c
+++ b/src/nvim/drawscreen.c
@@ -318,6 +318,10 @@ void screen_resize(int width, int height)
resizing_autocmd = false;
redraw_all_later(UPD_CLEAR);
+ if (State != MODE_ASKMORE && State != MODE_EXTERNCMD && State != MODE_CONFIRM) {
+ screenclear();
+ }
+
if (starting != NO_SCREEN) {
maketitle();