Mercurial > vim
changeset 9489:c5f40fc2e3e0 v7.4.2025
commit https://github.com/vim/vim/commit/da3a77d9ec28407b8fa2aa014e76944d0a525662
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 10 23:16:09 2016 +0200
patch 7.4.2025
Problem: The cursor blinking stops or is irregular when receiving date over
a channel and writing it in a buffer, and when updating the status
line. (Ramel Eshed)
Solution: Make it a bit better by flushing GUI output. Don't redraw the
cursor after updating the screen if the blink state is off.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Jul 2016 23:30:05 +0200 |
parents | dde9090b258a |
children | 652a3af98b81 |
files | src/gui_gtk_x11.c src/screen.c src/version.c |
diffstat | 3 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -867,7 +867,10 @@ gui_mch_stop_blink(void) blink_timer = 0; } if (blink_state == BLINK_OFF) + { gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } blink_state = BLINK_NONE; } @@ -902,6 +905,7 @@ blink_cb(gpointer data UNUSED) (GtkFunction) blink_cb, NULL); #endif } + gui_mch_flush(); return FALSE; /* don't happen again */ } @@ -934,6 +938,7 @@ gui_mch_start_blink(void) #endif blink_state = BLINK_ON; gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); } }