mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:58:12 +00:00
Kernel: Ensure there are all VirtualConsoles properly initialized
It is possible to switch to VirtualConsoles 1 to 4 via the shortcut ALT + [1-4]. Therefor the array of VirtualConsoles should be guaranteed to be initialized. Also add an constant for the maximum number of VirtualConsoles to guarantee consistency.
This commit is contained in:
parent
971a42a816
commit
d8fa8c5f82
3 changed files with 9 additions and 3 deletions
|
@ -36,7 +36,7 @@
|
|||
namespace Kernel {
|
||||
|
||||
static u8* s_vga_buffer;
|
||||
static VirtualConsole* s_consoles[6];
|
||||
static VirtualConsole* s_consoles[s_max_virtual_consoles];
|
||||
static int s_active_console;
|
||||
static RecursiveSpinLock s_lock;
|
||||
|
||||
|
@ -68,6 +68,8 @@ VirtualConsole::VirtualConsole(const unsigned index)
|
|||
, m_index(index)
|
||||
, m_terminal(*this)
|
||||
{
|
||||
ASSERT(index < s_max_virtual_consoles);
|
||||
|
||||
m_tty_name = String::format("/dev/tty%u", m_index);
|
||||
m_terminal.set_size(80, 25);
|
||||
|
||||
|
@ -83,7 +85,7 @@ void VirtualConsole::switch_to(unsigned index)
|
|||
{
|
||||
if ((int)index == s_active_console)
|
||||
return;
|
||||
ASSERT(index < 6);
|
||||
ASSERT(index < s_max_virtual_consoles);
|
||||
ASSERT(s_consoles[index]);
|
||||
|
||||
ScopedSpinLock lock(s_lock);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue