diff options
-rw-r--r-- | src/vte.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -3691,6 +3691,7 @@ vte_terminal_process_incoming(VteTerminal *terminal) VteScreen *screen; VteVisualPosition cursor; gboolean cursor_visible; + VteCursorStyle cursor_style; GdkPoint bbox_topleft, bbox_bottomright; gunichar *wbuf, c; long wcount, start, delta; @@ -3715,6 +3716,7 @@ vte_terminal_process_incoming(VteTerminal *terminal) /* Save the current cursor position. */ cursor = screen->cursor; cursor_visible = terminal->pvt->cursor_visible; + cursor_style = terminal->pvt->cursor_style; in_scroll_region = terminal->pvt->scrolling_restricted && (screen->cursor.row >= (screen->insert_delta + terminal->pvt->scrolling_region.start)) @@ -4074,7 +4076,8 @@ next_match: _vte_check_cursor_blink(terminal); /* Signal that the cursor moved. */ vte_terminal_queue_cursor_moved(terminal); - } else if (cursor_visible != terminal->pvt->cursor_visible) { + } else if ((cursor_visible != terminal->pvt->cursor_visible) || + (cursor_style != terminal->pvt->cursor_style)) { _vte_invalidate_cell(terminal, cursor.col, cursor.row); _vte_check_cursor_blink(terminal); } |