*** empty log message ***
authorroot <root>
Sat, 18 Feb 2006 15:44:26 +0000 (15:44 +0000)
committerroot <root>
Sat, 18 Feb 2006 15:44:26 +0000 (15:44 +0000)
Changes
src/feature.h
src/rxvttoolkit.C
src/rxvttoolkit.h
src/screen.C

diff --git a/Changes b/Changes
index 816f63d6c105d6f55fcc633b5e72a4f43191a61b..f0f407189e63149a4d0ea117034f92c12a3d3758 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
 rxvt-unicode changelog <= google-friendly title
 
+TODO: xcopyarea pass broken, fix and improve
 TODO: event mechanism that replaces on_keyboard_command with something more scalable.
 TODO: overlays collide with the way the out-of-focus cursor is being drawn
 TODO: split perl documentation and urxvt.pm into separate files
@@ -32,6 +33,8 @@ DUMB: support tex fonts
           so also check for matching fg colours. This fixes the problem where
           selecting newly scrolled-in lines would exhibit wrong colours.
         - fix a race resulting in a crash on exiting.
+        - fix a bug in xcopyarea pass and _disable_ it, as it seems not to be
+          working in either rxvt-unicode nor in the original rxvt.
 
 7.6  Fri Feb 10 08:52:36 CET 2006
        - changed interpretation of [alpha] colour prefix.
index cc6be64c3da572dd96f4e677fde40a39d07f3dd3..94240d7ce1f6ce4e999508ffba6c334f7d78d606 100644 (file)
  * Define to remove support for XCopyArea () support.  XCopyArea () is useful
  * for scrolling on non-local X displays
  */
-#undef NO_SLOW_LINK_SUPPORT
+#define NO_SLOW_LINK_SUPPORT
 
 /*
  * Printer pipe which will be used for emulation of attached vt100 printer
index 711b99fe464636c0a4f0b63e3c19dad525e6b35f..c503463d882598635314398f1844406405adf4c9 100644 (file)
 #include <fcntl.h>
 
 #include <sys/utsname.h>
-
-#ifndef NO_SLOW_LINK_SUPPORT
-# include <sys/socket.h>
-# include <sys/un.h>
-#endif
+#include <sys/socket.h>
+#include <sys/un.h>
 
 #if XFT
 # include <X11/extensions/Xrender.h>
@@ -465,7 +462,6 @@ bool rxvt_display::ref_init ()
 
   int fd = XConnectionNumber (dpy);
 
-#ifndef NO_SLOW_LINK_SUPPORT
   // try to detect wether we have a local connection.
   // assume unix domains socket == local, everything else not
   // TODO: might want to check for inet/127.0.0.1
@@ -475,7 +471,6 @@ bool rxvt_display::ref_init ()
 
   if (!getsockname (fd, (sockaddr *)&sa, &sl))
     is_local = sa.sun_family == AF_LOCAL;
-#endif
 
   x_ev.start (fd, EVENT_READ);
   fcntl (fd, F_SETFD, FD_CLOEXEC);
index 06491d304d596b45265fa3ced54eeeb97cbb58e4..9612885766b11aa417c099d51c9719547abab6ea 100644 (file)
@@ -189,9 +189,7 @@ struct rxvt_display : refcounted {
   Window    root;
   rxvt_term *selection_owner;
   Atom      xa[NUM_XA];
-#ifndef NO_SLOW_LINK_SUPPORT
   bool      is_local;
-#endif
 #ifdef POINTER_BLANK
   Cursor    blank_cursor;
 #endif
index 66fc25c75ac1269ba560e1de11116ce3b9519244..5325720b1827488c3e3607b3c4b77fd731c9714f 100644 (file)
@@ -2108,6 +2108,7 @@ rxvt_term::scr_refresh () NOTHROW
       && abs (num_scr) < nrow && !have_bg)
     {
       int16_t nits;
+      int i = num_scr;
       int j;
       int len, wlen;
       dLocal (int, num_scr);
@@ -2115,6 +2116,7 @@ rxvt_term::scr_refresh () NOTHROW
       j = nrow;
       wlen = len = -1;
       row = i > 0 ? 0 : j - 1;
+
       for (; j-- >= 0; row += (i > 0 ? 1 : -1))
         {
           if (row + i >= 0 && row + i < nrow && row + i != ocrow)
@@ -2145,7 +2147,7 @@ rxvt_term::scr_refresh () NOTHROW
                 }
             }
 
-          if (len != -1)
+          if (len >= 0)
             {
               /* also comes here at end if needed because of >= above */
               if (wlen < len)