summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgmont Koblinger <egmont@gmail.com>2016-03-02 12:42:08 +0100
committerEgmont Koblinger <egmont@gmail.com>2016-03-02 12:45:17 +0100
commitd950c5df7e2905b5897cc30160e20cf605af1d6a (patch)
tree14ec06ddb6889610839e029533d4e062e1dc2b34
parentca5d9e6a905241dd6667fc3df4057ca1c6d8899f (diff)
downloadvte-d950c5df7e2905b5897cc30160e20cf605af1d6a.tar.gz
widget: Invalidate cursor on style change
https://bugzilla.gnome.org/show_bug.cgi?id=762963 (cherry picked from commit a633f57e05dc30f444c5407ecb30b1bd67754ff4)
-rw-r--r--src/vte.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vte.cc b/src/vte.cc
index 0b44c9a2..4c62dbff 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -3672,6 +3672,7 @@ VteTerminalPrivate::process_incoming()
{
VteVisualPosition saved_cursor;
gboolean saved_cursor_visible;
+ VteCursorStyle saved_cursor_style;
GdkPoint bbox_topleft, bbox_bottomright;
gunichar *wbuf, c;
long wcount, start;
@@ -3698,6 +3699,7 @@ VteTerminalPrivate::process_incoming()
/* Save the current cursor position. */
saved_cursor = m_screen->cursor;
saved_cursor_visible = m_cursor_visible;
+ saved_cursor_style = m_cursor_style;
in_scroll_region = m_scrolling_restricted
&& (m_screen->cursor.row >= (m_screen->insert_delta + m_scrolling_region.start))
@@ -4060,7 +4062,8 @@ next_match:
check_cursor_blink();
/* Signal that the cursor moved. */
queue_cursor_moved();
- } else if (saved_cursor_visible != m_cursor_visible) {
+ } else if ((saved_cursor_visible != m_cursor_visible) ||
+ (saved_cursor_style != m_cursor_style)) {
// FIXMEchpe need to invalidate like invalidate_cursor_once() just for the saved_cursor coords!
invalidate_cell(saved_cursor.col, saved_cursor.row);
check_cursor_blink();