Fix icons.c test for 64-bit platforms
authorHiltjo Posthuma <hiltjo@codemadness.org>
Mon, 27 Sep 2010 18:12:50 +0000 (14:12 -0400)
committerDana Jansens <danakj@orodu.net>
Mon, 24 Jan 2011 19:19:22 +0000 (14:19 -0500)
tests/icons.c

index af13e0b..e2477c2 100644 (file)
@@ -70,6 +70,7 @@ int main(int argc, char **argv)
     Pixmap p;
     Cursor cur;
     XEvent ev;
+    unsigned int bs = sizeof(long);
 
     printf("Click on a window with an icon...\n");
 
@@ -132,10 +133,10 @@ int main(int argc, char **argv)
         i[image]->byte_order = LSBFirst;
         i[image]->data = (char*)prop_return[image];
         for (j = 0; j < w*h; j++) {
-            unsigned char alpha = (unsigned char)i[image]->data[j*4+3];
-            unsigned char r = (unsigned char) i[image]->data[j*4+0];
-            unsigned char g = (unsigned char) i[image]->data[j*4+1];
-            unsigned char b = (unsigned char) i[image]->data[j*4+2];
+            unsigned char alpha = (unsigned char)i[image]->data[j*bs+3];
+            unsigned char r = (unsigned char) i[image]->data[j*bs+0];
+            unsigned char g = (unsigned char) i[image]->data[j*bs+1];
+            unsigned char b = (unsigned char) i[image]->data[j*bs+2];
 
             // background color
             unsigned char bgr = 0;