Wikia

Sawfish

Fix Xlib client message

773pages on
this wiki
Talk0
Browse all patches

Author Edit

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

Synopsis Edit

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

--- 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

  • Yes 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 vote: yes. - Unfortunately tried only on IA32, at least doesn't seem to cause regressions. Aav 08:16, 16 January 2008 (UTC)
  • Yes vote: yes. accepted Janek Kozicki 00:30, 17 January 2008 (UTC)

Around Wikia's network

Random Wiki