Another delightful bug when XKB is disabled. If you feed the core only
repeated KeyPress events, it's supposed to generate KeyRelease events
automatically. Unfortunately that code is broken and generates an
incorrect list of events.

Problems exists in 1.5 and 1.6.

Patch:

--- dix/getevents.c.orig        2009-04-24 16:16:44.000000000 +0200
+++ dix/getevents.c     2009-04-24 16:19:20.000000000 +0200
@@ -406,6 +406,7 @@ GetKeyboardValuatorEvents(xEvent *events
                           int key_code, int first_valuator,
                           int num_valuators, int *valuators) {
     int numEvents = 0;
+    int numReleaseEvents;
     CARD32 ms = 0;
     KeySym *map = pDev->key->curKeySyms.map;
     KeySym sym;
@@ -470,11 +471,13 @@ GetKeyboardValuatorEvents(xEvent *events
         if (noXkbExtension)
 #endif
         {
-            numEvents += GetKeyboardValuatorEvents(events, pDev,
-                                                   KeyRelease, key_code,
-                                                   first_valuator, 
num_valuators,
-                                                   valuators);
-            events += numEvents;
+            numReleaseEvents = GetKeyboardValuatorEvents(events, pDev,
+                                                         KeyRelease, key_code,
+                                                         first_valuator,
+                                                         num_valuators,
+                                                         valuators);
+            numEvents += numReleaseEvents;
+            events += numReleaseEvents;
         }
     }
 


-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to