[vte/vte-0-58] emulation: Fix vertical cursor movememnt outside the scroll region



commit 998351e998a52d662503849b3cec8d653599f3fc
Author: Egmont Koblinger <egmont gmail com>
Date:   Thu Nov 14 12:08:30 2019 +0100

    emulation: Fix vertical cursor movememnt outside the scroll region
    
    https://gitlab.gnome.org/GNOME/vte/issues/197
    (cherry picked from commit 96dc2ebaf18118bd3ffadd48d54d7ee8bdc5ab54)

 src/vteseq.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/vteseq.cc b/src/vteseq.cc
index 9ee15477..48ded020 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -968,7 +968,7 @@ Terminal::move_cursor_down(vte::grid::row_t rows)
 
         vte::grid::row_t end;
         // FIXMEchpe why not check DEC_ORIGIN here?
-        if (m_scrolling_restricted) {
+        if (m_scrolling_restricted && m_screen->cursor.row <= m_screen->insert_delta + 
m_scrolling_region.end) {
                 end = m_screen->insert_delta + m_scrolling_region.end;
        } else {
                 end = m_screen->insert_delta + m_row_count - 1;
@@ -1140,7 +1140,7 @@ Terminal::move_cursor_up(vte::grid::row_t rows)
 
         vte::grid::row_t start;
         //FIXMEchpe why not check DEC_ORIGIN mode here?
-        if (m_scrolling_restricted) {
+        if (m_scrolling_restricted && m_screen->cursor.row >= m_screen->insert_delta + 
m_scrolling_region.start) {
                 start = m_screen->insert_delta + m_scrolling_region.start;
        } else {
                start = m_screen->insert_delta;
@@ -2162,6 +2162,7 @@ Terminal::CUD(vte::parser::Sequence const& seq)
          *   args[0]: 1
          *
          * References: ECMA-48 § 8.3.19
+         *             DEC STD 070 page 5-43
          */
 #if 0
         unsigned int num = 1;
@@ -2260,6 +2261,7 @@ Terminal::CUU(vte::parser::Sequence const& seq)
          *   args[0]: 1
          *
          * References: ECMA-48 § 8.3.22
+         *             DEC STD 070 page 5-41
          */
 #if 0
         unsigned int num = 1;


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