Mercurial > vim
diff src/edit.c @ 13150:808625d4b71b v8.0.1449
patch 8.0.1449: slow redrawing with DirectX
commit https://github.com/vim/vim/commit/a338adcf222b6a24e26ea5ae6a2ad27f914acb38
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jan 31 20:51:47 2018 +0100
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 #2560)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 31 Jan 2018 21:00:08 +0100 |
parents | 004bc78c88e6 |
children | c1534eb682a6 |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -3451,7 +3451,7 @@ ins_compl_clear(void) compl_orig_text = NULL; compl_enter_selects = FALSE; /* clear v:completed_item */ - set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc()); + set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED)); } /* @@ -3553,8 +3553,7 @@ ins_compl_new_leader(void) { /* Show the cursor after the match, not after the redrawn text. */ setcursor(); - out_flush(); - gui_update_cursor(FALSE, FALSE); + out_flush_cursor(FALSE, FALSE); } #endif compl_restarting = TRUE; @@ -4704,7 +4703,7 @@ ins_compl_delete(void) * flicker, thus we can't do that. */ changed_cline_bef_curs(); /* clear v:completed_item */ - set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc()); + set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED)); } /* @@ -4724,7 +4723,7 @@ ins_compl_insert(int in_compl_func) /* Set completed item. */ /* { word, abbr, menu, kind, info } */ - dict = dict_alloc(); + dict = dict_alloc_lock(VAR_FIXED); if (dict != NULL) { dict_add_nr_str(dict, "word", 0L, @@ -4936,8 +4935,7 @@ ins_compl_next( { /* Show the cursor after the match, not after the redrawn text. */ setcursor(); - out_flush(); - gui_update_cursor(FALSE, FALSE); + out_flush_cursor(FALSE, FALSE); } #endif