*** empty log message ***
authorroot <root>
Sat, 28 Jan 2006 14:23:16 +0000 (14:23 +0000)
committerroot <root>
Sat, 28 Jan 2006 14:23:16 +0000 (14:23 +0000)
Changes
src/screen.C

diff --git a/Changes b/Changes
index 91f360cfb310251c3d3e6770bac93b5088a32203..1caba7ef287f80158864cfa291268637e27d9fde 100644 (file)
--- 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.
index 67b02034282a4400f44b58f3c1187b7e2626049e..a57b25e37c7b727bd1ca85c5ff9d4e6adef0c01b 100644 (file)
@@ -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