mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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)
This commit is contained in:
12
src/edit.c
12
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
|
||||
|
||||
|
Reference in New Issue
Block a user