Explorar o código

TTY: Reset VGA start row when setting graphical TTY

This was causing the screen (on a real machine) to be split in half.
Jesse Buhagiar %!s(int64=5) %!d(string=hai) anos
pai
achega
35ba4bf005
Modificáronse 2 ficheiros con 9 adicións e 1 borrados
  1. 8 0
      Kernel/TTY/VirtualConsole.cpp
  2. 1 1
      Kernel/TTY/VirtualConsole.h

+ 8 - 0
Kernel/TTY/VirtualConsole.cpp

@@ -65,6 +65,14 @@ void VirtualConsole::initialize()
     s_active_console = -1;
     s_active_console = -1;
 }
 }
 
 
+void VirtualConsole::set_graphical(bool graphical)
+{
+    if (graphical)
+        set_vga_start_row(0);
+
+    m_graphical = graphical;
+}
+
 VirtualConsole::VirtualConsole(unsigned index, InitialContents initial_contents)
 VirtualConsole::VirtualConsole(unsigned index, InitialContents initial_contents)
     : TTY(4, index)
     : TTY(4, index)
     , m_index(index)
     , m_index(index)

+ 1 - 1
Kernel/TTY/VirtualConsole.h

@@ -49,7 +49,7 @@ public:
     static void initialize();
     static void initialize();
 
 
     bool is_graphical() { return m_graphical; }
     bool is_graphical() { return m_graphical; }
-    void set_graphical(bool graphical) { m_graphical = graphical; }
+    void set_graphical(bool graphical);
 
 
 private:
 private:
     // ^KeyboardClient
     // ^KeyboardClient