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