From d8e383edd0466b90e1d2f6f2ff98ea8cadbaf11c Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Tue, 28 Dec 2021 13:28:21 +0100 Subject: [PATCH] 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. --- Userland/Libraries/LibVT/Terminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibVT/Terminal.cpp b/Userland/Libraries/LibVT/Terminal.cpp index b8c48a8b17..5bcc978535 100644 --- a/Userland/Libraries/LibVT/Terminal.cpp +++ b/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());