Spurious bad X_ChangeProperty and MappingNotify:s

Pierre Ossman ossman at cendio.se
Tue Apr 21 08:08:49 PDT 2009


After a whole lot of digging, I've managed to trace this problem to its
source. Basically it's XKB that's sending events even though the
extension is disabled, resulting in more or less a random type value
(which on this systems happens to be interpreted as XError).

On 1.5 and 1.6, the code needs to check for noXkbExtension (see patch
below). 1.7 and beyond is a bit more complex given the big rewrite
going on in Xi. I can't say I see many checks for no XkbExtension at
all in the new code.

Is anyone actually testing with XKB compiled in but disabled? :)

Anyhoo, here's a patch for 1.5 and 1.6:

--- Xi/exevents.c.orig	2009-04-21 17:01:24.000000000 +0200
+++ Xi/exevents.c	2009-04-21 17:02:11.000000000 +0200
@@ -977,7 +977,8 @@ SendDeviceMappingNotify(ClientPtr client
     }
 
 #ifdef XKB
-    if (request == MappingKeyboard || request == MappingModifier)
+    if (!noXkbExtension && (request == MappingKeyboard ||
+                            request == MappingModifier))
         XkbApplyMappingChange(dev, request, firstKeyCode, count, client);
 #endif

Rgds
-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20090421/cee5257a/attachment.pgp 


More information about the xorg-devel mailing list