*** 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 816f63d..f0f4071 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 cc6be64..94240d7 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 711b99f..c503463 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 06491d3..9612885 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 66fc25c..5325720 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)