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)
diff --git a/src/edit.c b/src/edit.c
index bf2cf31..9330a40 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3451,7 +3451,7 @@
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 @@
{
/* 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 @@
* 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 @@
/* 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 @@
{
/* 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