mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -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:
13
src/ui.c
13
src/ui.c
@@ -245,7 +245,7 @@ ui_wait_for_chars_or_timer(
|
||||
if (interrupted != NULL && *interrupted)
|
||||
/* Nothing available, but need to return so that side effects get
|
||||
* handled, such as handling a message on a channel. */
|
||||
return FALSE;
|
||||
return FAIL;
|
||||
if (wtime > 0)
|
||||
remaining -= due_time;
|
||||
}
|
||||
@@ -578,11 +578,7 @@ clip_lose_selection(VimClipboard *cbd)
|
||||
update_curbuf(INVERTED_ALL);
|
||||
setcursor();
|
||||
cursor_on();
|
||||
out_flush();
|
||||
# ifdef FEAT_GUI
|
||||
if (gui.in_use)
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
# endif
|
||||
out_flush_cursor(TRUE, FALSE);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -3331,13 +3327,10 @@ ui_focus_change(
|
||||
setcursor();
|
||||
}
|
||||
cursor_on(); /* redrawing may have switched it off */
|
||||
out_flush();
|
||||
out_flush_cursor(FALSE, TRUE);
|
||||
# ifdef FEAT_GUI
|
||||
if (gui.in_use)
|
||||
{
|
||||
gui_update_cursor(FALSE, TRUE);
|
||||
gui_update_scrollbars(FALSE);
|
||||
}
|
||||
# endif
|
||||
}
|
||||
#ifdef FEAT_TITLE
|
||||
|
Reference in New Issue
Block a user