Browse all patches

Author[edit | edit source]

Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org>

Synopsis[edit | edit source]

This is a patch for Debian bug #406559, and possibly #403100, too. It seems these are ultimately caused by Xlib "helpfully" converting 32 bit messages from the server to the client's native long type, which is bad for sawfish since rep does distinguish these.

A longer description can be found in the patch's author's message in [1].

Patch[edit | edit source]

--- sawfish-1.3.1.old/src/events.c      2008-01-01 01:46:12.000000000 -0200
+++ sawfish-1.3.1/src/events.c  2008-01-01 01:45:22.000000000 -0200
@@ -21,6 +21,7 @@
 
 #include "sawmill.h"
 #include <limits.h>
+#include <stdint.h>
 #include <string.h>
 #include <time.h>
 #include <X11/extensions/shape.h>
@@ -641,7 +642,10 @@
     case 32:
        data = Fmake_vector (rep_MAKE_INT(5), Qnil);
        for (i = 0; i < 5; i++)
-           rep_VECTI(data,i) = rep_make_long_uint (ev->xclient.data.l[i]);
+       {
+           unsigned long l = (uint32_t) ev->xclient.data.l[i];
+           rep_VECTI(data,i) = rep_make_long_uint (l);
+       }
        break;
 
     default:

Community's reasons for inclusion or rejection[edit | edit source]

  • Yes.png vote: yes. - apparently it was reported on debian Bug Tracking System to work. (See the quoted URLs in the patch's description) Janek Kozicki 15:59, 14 January 2008 (UTC)
  • Yes.png vote: yes. - Unfortunately tried only on IA32, at least doesn't seem to cause regressions. Aav 08:16, 16 January 2008 (UTC)
  • Yes.png vote: yes. accepted Janek Kozicki 00:30, 17 January 2008 (UTC)
Community content is available under CC-BY-SA unless otherwise noted.