xserver: Branch 'mpx'
Peter Hutterer
whot at kemper.freedesktop.org
Fri Jan 12 06:42:28 EET 2007
dix/cursor.c | 1 -
mi/mieq.c | 8 ++++++++
2 files changed, 8 insertions(+), 1 deletion(-)
New commits:
diff-tree ba547d4f6a2707f51f0d826389d2d418fb62367a (from 5e2f8dee6331645fcbd2734c43698eb4f9c5b116)
Author: Peter Hutterer <peter at cs.unisa.edu.au>
Date: Fri Jan 12 14:42:02 2007 +1030
mi: Quick fix to stop segfault on non-core keyboards.
diff --git a/dix/cursor.c b/dix/cursor.c
index b58a7bf..cf515c1 100644
--- a/dix/cursor.c
+++ b/dix/cursor.c
@@ -117,7 +117,6 @@ FreeCursor(pointer value, XID cid)
ScreenPtr pscr;
DeviceIntPtr pDev;
- MPXDBG("freecursor refcount %d\n", pCurs->refcnt);
if ( --pCurs->refcnt != 0)
return(Success);
diff --git a/mi/mieq.c b/mi/mieq.c
index 0744e6c..b336277 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -231,6 +231,14 @@ mieqProcessInputEvents()
dev = e->pDev;
}
+ /* FIXME: Keyboard extension devices do not have devPrivates
+ * initialized, resulting in a segfault in XkbHandleActions. */
+ if (e->event[0].u.u.type == DeviceKeyPress ||
+ e->event[0].u.u.type == DeviceKeyRelease ||
+ e->event[0].u.u.type == KeyPress ||
+ e->event[0].u.u.type == KeyRelease)
+ e->pDev = dev = inputInfo.keyboard;
+
/* MPX devices send both core and Xi events.
* Use dev to get the correct processing function but supply
* e->pDev to pass the correct device
More information about the xorg-commit
mailing list