From: root Date: Sat, 28 Jan 2006 14:23:16 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=9d1ec8c56471e3baf6b78684a9013a221b146ec5;p=dana%2Furxvt.git *** empty log message *** --- diff --git a/Changes b/Changes index 91f360cf..1caba7ef 100644 --- a/Changes +++ b/Changes @@ -12,8 +12,9 @@ WISH: just for fun, do shade and tint with XRender. WISH: http://www120.pair.com/mccarthy/nextstep/intro.htmld/Workspace.html is the correct nextstep look. DUMB: support tex fonts -7.4pre - - screen background wasn't always erased properly when scrolling. +7.4 + - screen background wasn't always erased properly when scrolling, + - re-enabled clearing optimisation disabled in 7.4pre. 7.3a Thu Jan 26 01:08:25 CET 2006 - removed stoopid debugging message. diff --git a/src/screen.C b/src/screen.C index 67b02034..a57b25e3 100644 --- a/src/screen.C +++ b/src/screen.C @@ -128,7 +128,7 @@ rxvt_term::scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend l.touch (); - efs &= ~RS_baseattrMask; + efs &= ~RS_baseattrMask; // remove italic etc. fontstyles efs = SET_FONT (efs, FONTSET (efs)->find_font (' ')); text_t *et = l.t + col; @@ -642,7 +642,20 @@ rxvt_term::scr_scroll_text (int row1, int row2, int count) NOTHROW // erase newly scrolled-in lines for (int i = count; i--; ) - scr_blank_screen_mem (ROW(nrow - 1 - i), rstyle); + { + line_t &l = ROW(nrow - 1 - i); + + // optimize if already cleared, can be significant on slow machines + // could be rolled into scr_blank_screen_mem + if (l.r && l.l < ncol - 1 && !((l.r[l.l + 1] ^ rstyle) & RS_bgMask)) + { + scr_blank_line (l, 0, l.l, rstyle); + l.l = 0; + l.f = 0; + } + else + scr_blank_screen_mem (l, rstyle); + } // now copy lines below the scroll region bottom to the // bottom of the screen again, so they look as if they