]> git.decadent.org.uk Git - ion3.git/blobdiff - debian/patches/102_ignore-bad-match.diff
Replaced 101_ignore-missing-keys.diff and 102_ignore-bad-match.diff with patches...
[ion3.git] / debian / patches / 102_ignore-bad-match.diff
index 4a60cad4ee329bec341ca59740412d8690462579..7c2a55f5d471c7fba8edfef4e6d80b31a5a9a572 100644 (file)
@@ -1,16 +1,21 @@
---- ion3.orig/ioncore/rootwin.c
-+++ ion3/ioncore/rootwin.c
-@@ -58,10 +58,11 @@
-     static char msg[128], request[64], num[32];
+Wed Jul 23 17:54:17 BST 2008  Tuomo Valkonen <tuomov@iki.fi>
+  * More BadMatch ignore
+diff -rN -u old-ion-3plus/ioncore/rootwin.c new-ion-3plus/ioncore/rootwin.c
+--- old-ion-3plus/ioncore/rootwin.c    2008-07-24 21:28:52.000000000 +0100
++++ new-ion-3plus/ioncore/rootwin.c    2008-07-24 21:28:52.000000000 +0100
+@@ -59,9 +59,13 @@
      
      /* Just ignore bad window and similar errors; makes the rest of
--     * the code simpler.
-+     * the code simpler.  Due to a Xorg bug, window lookups may fail
-+     * with BadMatch instead of BadWindow.
+      * the code simpler.
++     * 
++     * Apparently XGetWindowProperty can return BadMatch on a race
++     * condition where the server is already reusing the XID for a 
++     * non-window drawable, so let's just ignore BadMatch entirely...
       */
      if((ev->error_code==BadWindow ||
 -        (ev->error_code==BadMatch && ev->request_code==X_SetInputFocus) ||
-+        ev->error_code==BadMatch ||
++        (ev->error_code==BadMatch /*&& ev->request_code==X_SetInputFocus*/) ||
          (ev->error_code==BadDrawable && ev->request_code==X_GetGeometry)) &&
         ignore_badwindow)
          return 0;
+