diff options
author | Daniel Martin <consume.noise@gmail.com> | 2012-11-07 11:31:01 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-05 17:37:40 +1000 |
commit | 79220f4390127d9971cbcf378530bf36172ef35a (patch) | |
tree | 5fdcb801d0305fc253f87702f2a65cd7b6a1b1d9 | |
parent | 521f3fb566e67330a486874928a21ce201dba02b (diff) |
Xi: Fix modifier swapping in XIPassiveGrabDevice
XIPassiveGrabDevice uses a list of uint32_t as modifier sets.
The ModifierInfo struct represents the current modifier states and is
therefor used in XIQueryPointer and various events.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit aa9a9ad08b8a6e7e95de7c2bf45d93dd50f9ca87)
-rw-r--r-- | Xi/xipassivegrab.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c index ddab53dec..62a3a469f 100644 --- a/Xi/xipassivegrab.c +++ b/Xi/xipassivegrab.c @@ -50,7 +50,7 @@ int SProcXIPassiveGrabDevice(ClientPtr client) { int i; - xXIModifierInfo *mods; + uint32_t *mods; REQUEST(xXIPassiveGrabDeviceReq); @@ -63,12 +63,10 @@ SProcXIPassiveGrabDevice(ClientPtr client) swaps(&stuff->mask_len); swaps(&stuff->num_modifiers); - mods = (xXIModifierInfo *) &stuff[1]; + mods = (uint32_t *) &stuff[1]; for (i = 0; i < stuff->num_modifiers; i++, mods++) { - swapl(&mods->base_mods); - swapl(&mods->latched_mods); - swapl(&mods->locked_mods); + swapl(mods); } return ProcXIPassiveGrabDevice(client); |