浏览代码

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 5 年之前
父节点
当前提交
35ba4bf005
共有 2 个文件被更改,包括 9 次插入1 次删除
  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;
 }
 
+void VirtualConsole::set_graphical(bool graphical)
+{
+    if (graphical)
+        set_vga_start_row(0);
+
+    m_graphical = graphical;
+}
+
 VirtualConsole::VirtualConsole(unsigned index, InitialContents initial_contents)
     : TTY(4, index)
     , m_index(index)

+ 1 - 1
Kernel/TTY/VirtualConsole.h

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