summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorThomas Jaeger <thjaeger@gmail.com>2008-04-01 15:27:06 +0300
committerDaniel Stone <daniel@fooishbar.org>2008-04-01 15:31:50 +0300
commit37b1258f0a288a79ce6a3eef3559e17a67c4dd96 (patch)
tree9712e689fc235bfdba2897fe07d9efd58c0ab992 /xkb
parenta4d034941100c6ca3b7cc4e59952c2745b9306cc (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>
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 890cf4250..8c72874df 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -49,15 +49,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);
}