--- rxvt-unicode/src/screen.C 2008/11/04 23:35:50 1.322 +++ rxvt-unicode/src/screen.C 2008/11/04 23:53:29 1.323 @@ -1351,7 +1351,7 @@ { ren = DEFAULT_RSTYLE; - if (mapped) + if (mapped && !view_start) XClearArea (dpy, vt, 0, Row2Pixel (row - view_start), (unsigned int)width, (unsigned int)Height2Pixel (num), False); @@ -1360,20 +1360,24 @@ { ren = rstyle & (RS_fgMask | RS_bgMask); - gcvalue.foreground = pix_colors[bgcolor_of (rstyle)]; - XChangeGC (dpy, gc, GCForeground, &gcvalue); - XFillRectangle (dpy, vt, gc, - 0, Row2Pixel (row - view_start), - (unsigned int)width, - (unsigned int)Height2Pixel (num)); - gcvalue.foreground = pix_colors[Color_fg]; - XChangeGC (dpy, gc, GCForeground, &gcvalue); + if (mapped && !view_start) + { + gcvalue.foreground = pix_colors[bgcolor_of (rstyle)]; + XChangeGC (dpy, gc, GCForeground, &gcvalue); + XFillRectangle (dpy, vt, gc, + 0, Row2Pixel (row - view_start), + (unsigned int)width, + (unsigned int)Height2Pixel (num)); + gcvalue.foreground = pix_colors[Color_fg]; + XChangeGC (dpy, gc, GCForeground, &gcvalue); + } } for (; num--; row++) { scr_blank_screen_mem (ROW(row), rstyle); - scr_blank_line (drawn_buf [row], 0, ncol, ren); + if (!view_start) + scr_blank_line (drawn_buf [row], 0, ncol, ren); } }