diff options
author | Pierre Ossman <pierre@ossman.eu> | 2009-04-28 09:34:55 +0200 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-05-08 21:58:41 -0700 |
commit | e21c9949ac456ba9b162b6244a17e68c5b8112a9 (patch) | |
tree | 8fee60268b68891d2e45ba4a227926f91bce21ce /dix | |
parent | 3b1ff33587458bad45777b8eb74b81c3e55987ad (diff) |
dix: fix calculation of number of fake KeyRelease events
Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/getevents.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/dix/getevents.c b/dix/getevents.c index 279f49e54..9747b35a6 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -820,11 +820,15 @@ GetKeyboardValuatorEvents(EventList *events, DeviceIntPtr pDev, int type, if (noXkbExtension) #endif { - numEvents += GetKeyboardValuatorEvents(events, pDev, - KeyRelease, key_code, - first_valuator, num_valuators, - valuators); - events += numEvents; + int numReleaseEvents; + + numReleaseEvents = GetKeyboardValuatorEvents(events, pDev, + KeyRelease, key_code, + first_valuator, + num_valuators, + valuators); + numEvents += numReleaseEvents; + events += numReleaseEvents; } } |