Fandom

Sawfish

Fix Xlib client message

773pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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)

Also on Fandom

Random Wiki