[vte] widget: Invalidate cursor on style change



commit a633f57e05dc30f444c5407ecb30b1bd67754ff4
Author: Egmont Koblinger <egmont gmail com>
Date:   Wed Mar 2 12:42:08 2016 +0100

    widget: Invalidate cursor on style change
    
    https://bugzilla.gnome.org/show_bug.cgi?id=762963

 src/vte.cc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 0b44c9a..4c62dbf 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();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]