summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-06-21 18:24:30 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-06-21 18:24:30 +0930
commit4d5df14f2c4a3108a8c8adfcf4766c0d1a9daad2 (patch)
tree7d3059e8f57e5ccebf37bbc711df948c31d7fef8 /include
parentf6f3322fc7562dbfccaf798b05d42ea222860ba8 (diff)
Save processInputProc before wrapping it and restore it later, instead of
using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to process DeviceKeyEvents after the first key press. This should be the correct fix now.
Diffstat (limited to 'include')
-rw-r--r--include/xkbsrv.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index 5edee539b..e018749a6 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -241,7 +241,8 @@ typedef struct
oldprocs->unwrapProc = device->unwrapProc; \
device->unwrapProc = unwrapproc;
-#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs) \
+#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
+ backupproc = device->public.processInputProc; \
device->public.processInputProc = oldprocs->processInputProc; \
device->public.realInputProc = oldprocs->realInputProc; \
device->unwrapProc = oldprocs->unwrapProc;