Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 May 2006 08:49:05 GMT
From:      Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/97196: x11-wm/sawfish2 patches needed for amd64
Message-ID:  <200605130849.k4D8n5Yh017430@www.freebsd.org>
Resent-Message-ID: <200605130850.k4D8oK4M067821@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         97196
>Category:       ports
>Synopsis:       x11-wm/sawfish2 patches needed for amd64
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 13 08:50:19 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Yoshiaki Kasahara
>Release:        FreeBSD 6.1-STABLE amd64
>Organization:
Kyushu University
>Environment:
System: FreeBSD elvenbow.cc.kyushu-u.ac.jp 6.1-STABLE FreeBSD 6.1-STABLE #0: Mon May 8 16:54:22 JST 2006 root@elvenbow.cc.kyushu-u.ac.jp:/usr/obj/usr/src/sys/ELVENBOW amd64

>Description:
x11-wm/sawfish2 needs a couple of patches for amd64 platform.

One is already in CVS repository of sawfish which fixes window decoration.
Without this patch, sawfish continuously emits error messages and it doesn't
draw window frames collectly.

Another one fixes the return values of (window-frame-offset).
I submitted the patch to sawfish-list ML, but no response so far.
Without this patch, (warp-cursor-to-window) doesn't work collectly.
Actually window-frame-offset has negative values, so it should be int instead 
of u_int.
There is no such problem on i386 platform despite of the wrong declaration.
I don't know why.

>How-To-Repeat:
Install x11-wm/sawfish2 from ports and run as usual on amd64 platform.

>Fix:
Apply these patches in sawfish-1.3/src directory.

--- functions.c 3 Nov 2002 21:00:36 -0000       1.98
+++ functions.c 30 Oct 2003 05:35:18 -0000      1.99
@@ -704,8 +704,10 @@
            repv name;
            if (type == XA_ATOM && (name = x_atom_symbol (l_data[i])) != Qnil)
                rep_VECTI(ret_data, i) = name;
+           else if (type == XA_INTEGER)
+               rep_VECTI(ret_data, i) = rep_make_long_int((long) l_data[i]);
            else
-               rep_VECTI(ret_data, i) = rep_make_long_uint(l_data[i]);
+               rep_VECTI(ret_data, i) = rep_make_long_uint(l_data[i] & 0xffffffffUL);
        }
        break;
     }


--- sawmill.h.orig      Mon Jan 13 05:35:23 2003
+++ sawmill.h   Mon May  8 11:52:40 2006
@@ -153,7 +153,7 @@
     /* Frame data */
     Window frame;
     struct frame_part *frame_parts;
-    u_int frame_x, frame_y;            /* relative to client-window */
+    int frame_x, frame_y;              /* relative to client-window */
     u_int frame_width, frame_height;
     void (*destroy_frame)(struct lisp_window *w);
     void (*focus_change)(struct lisp_window *w);

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605130849.k4D8n5Yh017430>