summaryrefslogtreecommitdiff
path: root/include/xkbsrv.h
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-06-21 18:24:30 +0930
committerDaniel Stone <daniel@fooishbar.org>2007-10-28 15:51:34 +0200
commit91077bfc50d54be37c217e377c55b6bf886a2fab (patch)
tree6c1b2c036863d098111aa708cf0c8c8363f2a38a /include/xkbsrv.h
parent8b9481a113b56078191e2298bf590905978f6289 (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. (cherry picked from commit 4d5df14f2c4a3108a8c8adfcf4766c0d1a9daad2)
Diffstat (limited to 'include/xkbsrv.h')
-rw-r--r--include/xkbsrv.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index bb2316de6..d78a68adf 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -262,7 +262,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;