summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorThomas Jaeger <thjaeger@gmail.com>2008-04-01 15:27:06 +0300
committerJulien Cristau <jcristau@debian.org>2008-04-30 11:21:11 +0200
commitfdfb57d342da0ace14eed635804ebc31441240c5 (patch)
treee7723ee9fa6ed313b4ba5e6ce376c13e50844f34 /xkb
parent6afcf996cade0c9464d6af9b04b177b1de138cfd (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.c9
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);
}