vgabios: Fix screen attrs on cga scroll.
authorKevin O'Connor <kevin@koconnor.net>
Fri, 3 Feb 2012 01:56:38 +0000 (20:56 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Fri, 3 Feb 2012 01:56:38 +0000 (20:56 -0500)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
vgasrc/vgafb.c

index d988c883ca7ce14c25594194ce3344dfcfec9451..a75bc81eb296c2e6d396cce4691aa623013f01d3 100644 (file)
@@ -93,6 +93,10 @@ scroll_cga(struct vgamode_s *vmode_g, int nblines, int attr
     }
     if (attr < 0)
         attr = 0;
+    if (cwidth == 1)
+        attr = (attr&1) | ((attr&1)<<1);
+    attr &= 3;
+    attr |= (attr<<2) | (attr<<4) | (attr<<6);
     int cols = lr.x - ul.x + 1;
     int rows = lr.y - ul.y + 1;
     if (nblines < rows) {