]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-07-20 Joe Auricchio <jauricchio@gmail.com>
authorphcoder <phcoder@localhost>
Mon, 20 Jul 2009 16:46:36 +0000 (16:46 +0000)
committerphcoder <phcoder@localhost>
Mon, 20 Jul 2009 16:46:36 +0000 (16:46 +0000)
* term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.

ChangeLog
term/gfxterm.c

index 3a9ed70725202f83a529040006f87c1f86d1b39e..c9616e25c6cbc6a617fa7671717861ff69bbfa33 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-07-20  Joe Auricchio <jauricchio@gmail.com>
+
+       * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
+
 2009-07-20  Pavel Roskin  <proski@gnu.org>
 
        * configure.ac: Trim excessively wordy excuses.
index ef93bb70fcdaeb0fea0c6f58b1c4ff6e9e5180ba..61cf0e7504806823f1e1b623a74be6c7c277e656 100644 (file)
@@ -170,6 +170,8 @@ grub_virtual_screen_setup (unsigned int x, unsigned int y,
                            unsigned int width, unsigned int height,
                            const char *font_name)
 {
+  unsigned int i;
+
   /* Free old virtual screen.  */
   grub_virtual_screen_free ();
 
@@ -225,6 +227,16 @@ grub_virtual_screen_setup (unsigned int x, unsigned int y,
 
   grub_video_set_active_render_target (GRUB_VIDEO_RENDER_TARGET_DISPLAY);
 
+  /* Clear out text buffer. */
+  for(i = 0; i < virtual_screen.columns * virtual_screen.rows; i++)
+    {
+      virtual_screen.text_buffer[i].code = ' ';
+      virtual_screen.text_buffer[i].fg_color = virtual_screen.fg_color;
+      virtual_screen.text_buffer[i].bg_color = virtual_screen.bg_color;
+      virtual_screen.text_buffer[i].width = 0;
+      virtual_screen.text_buffer[i].index = 0;
+    }
+
   return grub_errno;
 }