0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

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.
This commit is contained in:
Bram Moolenaar
2016-07-10 23:16:09 +02:00
parent 7c0a2f367f
commit da3a77d9ec
3 changed files with 8 additions and 1 deletions

View File

@@ -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();
}
}

View File

@@ -757,7 +757,7 @@ update_screen(int type)
if (gui.in_use)
{
out_flush(); /* required before updating the cursor */
if (did_one)
if (did_one && !gui_mch_is_blink_off())
{
/* Put the GUI position where the cursor was, gui_update_cursor()
* uses that. */

View File

@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2025,
/**/
2024,
/**/