浏览代码

LibVT: Always clear "stomp" state when changing the cursor position

This fixes a bug, where we mistakenly put a character in the next row if
the cursor was told to move to the rightmost column when it was already
there.
Daniel Bertalan 3 年之前
父节点
当前提交
d8e383edd0
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Userland/Libraries/LibVT/Terminal.cpp

+ 1 - 1
Userland/Libraries/LibVT/Terminal.cpp

@@ -881,6 +881,7 @@ void Terminal::set_cursor(unsigned a_row, unsigned a_column, bool skip_debug)
 {
     unsigned row = min(a_row, m_rows - 1u);
     unsigned column = min(a_column, m_columns - 1u);
+    m_stomp = false;
     if (row == cursor_row() && column == cursor_column())
         return;
     VERIFY(row < rows());
@@ -888,7 +889,6 @@ void Terminal::set_cursor(unsigned a_row, unsigned a_column, bool skip_debug)
     invalidate_cursor();
     m_current_state.cursor.row = row;
     m_current_state.cursor.column = column;
-    m_stomp = false;
     invalidate_cursor();
     if (!skip_debug)
         dbgln_if(TERMINAL_DEBUG, "Set cursor position: {},{}", cursor_row(), cursor_column());