From a7bd4acd4670d5c1ad347e84a0e752b9e242fe06 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sun, 11 May 2025 03:22:58 +0300 Subject: [PATCH] Kernel: Remove static variables from virtual tty --- kernel/include/kernel/Terminal/VirtualTTY.h | 4 ++++ kernel/kernel/Terminal/VirtualTTY.cpp | 13 +++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/kernel/include/kernel/Terminal/VirtualTTY.h b/kernel/include/kernel/Terminal/VirtualTTY.h index d4f3cf02..42bffa9d 100644 --- a/kernel/include/kernel/Terminal/VirtualTTY.h +++ b/kernel/include/kernel/Terminal/VirtualTTY.h @@ -94,6 +94,10 @@ namespace Kernel uint32_t m_column { 0 }; Cell* m_buffer { nullptr }; + bool m_last_cursor_shown { false }; + uint32_t m_last_cursor_row { static_cast(-1) }; + uint32_t m_last_cursor_column { static_cast(-1) }; + const Palette& m_palette; TerminalDriver::Color m_foreground; diff --git a/kernel/kernel/Terminal/VirtualTTY.cpp b/kernel/kernel/Terminal/VirtualTTY.cpp index f11a2290..29b3aeb3 100644 --- a/kernel/kernel/Terminal/VirtualTTY.cpp +++ b/kernel/kernel/Terminal/VirtualTTY.cpp @@ -571,17 +571,14 @@ namespace Kernel void VirtualTTY::update_cursor() { - static bool last_shown = !m_cursor_shown; - if (m_cursor_shown != last_shown) + if (m_cursor_shown != m_last_cursor_shown) m_terminal_driver->set_cursor_shown(m_cursor_shown); - last_shown = m_cursor_shown; + m_last_cursor_shown = m_cursor_shown; - static uint32_t last_column = -1; - static uint32_t last_row = -1; - if (last_column != m_column || last_row != m_row) + if (m_last_cursor_column != m_column || m_last_cursor_row != m_row) m_terminal_driver->set_cursor_position(m_column, m_row); - last_column = m_column; - last_row = m_row; + m_last_cursor_column = m_column; + m_last_cursor_row = m_row; } }