diff --git a/Kernel/TTY/ConsoleManagement.cpp b/Kernel/TTY/ConsoleManagement.cpp index 93156070004..999538af017 100644 --- a/Kernel/TTY/ConsoleManagement.cpp +++ b/Kernel/TTY/ConsoleManagement.cpp @@ -29,7 +29,7 @@ bool ConsoleManagement::is_initialized() return false; if (s_the->m_consoles.is_empty()) return false; - if (s_the->m_active_console.is_null()) + if (s_the->m_active_console) return false; return true; } @@ -58,7 +58,7 @@ UNMAP_AFTER_INIT void ConsoleManagement::initialize() if (tty_number > m_consoles.size()) { PANIC("Switch to tty value is invalid: {} ", tty_number); } - m_active_console = m_consoles[tty_number]; + m_active_console = &m_consoles[tty_number]; ScopedSpinLock lock(m_lock); m_active_console->set_active(true); if (!m_active_console->is_graphical()) @@ -75,7 +75,7 @@ void ConsoleManagement::switch_to(unsigned index) bool was_graphical = m_active_console->is_graphical(); m_active_console->set_active(false); - m_active_console = m_consoles[index]; + m_active_console = &m_consoles[index]; dbgln_if(VIRTUAL_CONSOLE_DEBUG, "Console: Switch to {}", index); // Before setting current console to be "active", switch between graphical mode to "textual" mode diff --git a/Kernel/TTY/ConsoleManagement.h b/Kernel/TTY/ConsoleManagement.h index e4f3869f05d..7e631f95f2e 100644 --- a/Kernel/TTY/ConsoleManagement.h +++ b/Kernel/TTY/ConsoleManagement.h @@ -20,7 +20,7 @@ class ConsoleManagement { public: ConsoleManagement(); - static constexpr unsigned s_max_virtual_consoles = 6; + static constexpr size_t s_max_virtual_consoles = 6; static bool is_initialized(); static ConsoleManagement& the(); @@ -38,8 +38,8 @@ public: RecursiveSpinLock& tty_write_lock() { return m_tty_write_lock; } private: - NonnullRefPtrVector m_consoles; - RefPtr m_active_console; + NonnullRefPtrVector m_consoles; + VirtualConsole* m_active_console { nullptr }; SpinLock m_lock; RecursiveSpinLock m_tty_write_lock; };