diff options
author | Thomas Jaeger <thjaeger@gmail.com> | 2008-04-01 15:27:06 +0300 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2008-04-30 11:21:11 +0200 |
commit | fdfb57d342da0ace14eed635804ebc31441240c5 (patch) | |
tree | e7723ee9fa6ed313b4ba5e6ce376c13e50844f34 /xkb | |
parent | 6afcf996cade0c9464d6af9b04b177b1de138cfd (diff) |
XKB: Fix processInputProc wrapping
If input processing is frozen, only wrap realInputProc: don't smash
processInputProc as well. When input processing is thawed, pIP will be
rewrapped correctly.
This supersedes the previous workaround in 50e80c9.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 37b1258f0a288a79ce6a3eef3559e17a67c4dd96)
Diffstat (limited to 'xkb')
-rw-r--r-- | xkb/xkbActions.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index 6edac292e..59d34c5fd 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -50,15 +50,14 @@ xkbUnwrapProc(DeviceIntPtr device, DeviceHandleProc proc, pointer data) { xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(device); - ProcessInputProc tmp = device->public.processInputProc; - ProcessInputProc dummy; /* unused, but neede for macro */ + ProcessInputProc backupproc; if(xkbPrivPtr->unwrapProc) xkbPrivPtr->unwrapProc = NULL; - UNWRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr, dummy); + UNWRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr, backupproc); proc(device,data); - WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr, - tmp,xkbUnwrapProc); + COND_WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr, + backupproc,xkbUnwrapProc); } |