diff --git a/dix/getevents.c b/dix/getevents.c index 3d004920b950ef38f71016f87a01855cdd208a27..1671a2411a7618a3c778d1863131ed0cae407858 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -1079,7 +1079,6 @@ GetProximityEvents(EventList *events, DeviceIntPtr pDev, int type, { int num_events = 1; deviceKeyButtonPointer *kbp; - DeviceIntPtr master; /* Sanity checks. */ if (type != ProximityIn && type != ProximityOut) @@ -1101,16 +1100,7 @@ GetProximityEvents(EventList *events, DeviceIntPtr pDev, int type, (num_valuators + first_valuator) > pDev->valuator->numAxes) return 0; - master = pDev->u.master; - if (master && master->u.lastSlave != pDev) - { - CreateClassesChangedEvent(events, master, pDev); - updateSlaveDeviceCoords(master, pDev); - master->u.lastSlave = pDev; - master->last.numValuators = pDev->last.numValuators; - num_events++; - events++; - } + events = updateFromMaster(events, pDev, &num_events); kbp = (deviceKeyButtonPointer *) events->event; kbp->type = type;