mi: Quick fix to stop segfault on non-core keyboards.

This commit is contained in:
Peter Hutterer 2007-01-12 14:42:02 +10:30 committed by Peter Hutterer
parent 5e2f8dee63
commit ba547d4f6a
2 changed files with 8 additions and 1 deletions

View File

@ -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);

View File

@ -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