 +              *d++ = fg | (bg << 4);
 +            }
 +        }
++
++      if( st )
++        {
++          memset(d, 0X70, p->w_width);
++          d += p->w_width;
++        }
 +#else /* COLOR */
-+      *d += p->w_width * p->w_height;
++      {
++        int count = dest[0] * dest[1];
++        memset(d, 0X07, count);
++        d += count;
++      }
 +#endif /* COLOR */
 +
 +      *d++ = p->w_number;  /* window number */

+        {
+          struct mline *ml = &p->w_mlines[y];
+          x = 0;
+          if( st && (y == STATLINE) )
+            for( ; x<p->w_width; *d++ = 0X70, x++ );
+          for( ; x<p->w_width; x++ )
+            {
+              static const unsigned char tr[] =

 	timeoutev = calctimo();
       if (timeoutev)
--- window.c.orig	2003-12-05 08:45:41.000000000 -0500
+++ window.c	2006-08-08 10:39:45.000000000 -0400
@@ -1993,6 +1993,130 @@
     }
 }
 
