aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-11-19 19:36:13 -0500
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-11-19 20:33:09 -0500
commit025399aedb01642de9b7a7b054e4c85aac0c09d5 (patch)
tree1120755b74b1a3c814bfafc62ebaa550641d809f /src
parent629ea19994d832a7de806e451941dd4904bcc5ed (diff)
downloadrneovim-025399aedb01642de9b7a7b054e4c85aac0c09d5.tar.gz
rneovim-025399aedb01642de9b7a7b054e4c85aac0c09d5.tar.bz2
rneovim-025399aedb01642de9b7a7b054e4c85aac0c09d5.zip
vim-patch:8.0.1449: slow redrawing with DirectX
Problem: Slow redrawing with DirectX. Solution: Avoid calling gui_mch_flush() unnecessarily, especially when updating the cursor. (Ken Takata, closes vim/vim#2560) https://github.com/vim/vim/commit/a338adcf222b6a24e26ea5ae6a2ad27f914acb38
Diffstat (limited to 'src')
-rw-r--r--src/nvim/edit.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 25b6502b19..cd0f3f4b9d 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -3056,7 +3056,9 @@ static void ins_compl_clear(void)
XFREE_CLEAR(compl_orig_text);
compl_enter_selects = false;
// clear v:completed_item
- set_vim_var_dict(VV_COMPLETED_ITEM, tv_dict_alloc());
+ dict_T *const d = tv_dict_alloc();
+ d->dv_lock = VAR_FIXED;
+ set_vim_var_dict(VV_COMPLETED_ITEM, d);
}
/// Check that Insert completion is active.
@@ -4313,7 +4315,9 @@ static void ins_compl_delete(void)
// causes flicker, thus we can't do that.
changed_cline_bef_curs();
// clear v:completed_item
- set_vim_var_dict(VV_COMPLETED_ITEM, tv_dict_alloc());
+ dict_T *const d = tv_dict_alloc();
+ d->dv_lock = VAR_FIXED;
+ set_vim_var_dict(VV_COMPLETED_ITEM, d);
}
// Insert the new text being completed.
@@ -4335,6 +4339,7 @@ static dict_T *ins_compl_dict_alloc(compl_T *match)
{
// { word, abbr, menu, kind, info }
dict_T *dict = tv_dict_alloc();
+ dict->dv_lock = VAR_FIXED;
tv_dict_add_str(
dict, S_LEN("word"),
(const char *)EMPTY_IF_NULL(match->cp_str));