dix: Extract DeliverDeviceClassesChangedEvent() utility function
This commit is contained in:
parent
5b0c5344b7
commit
56d7205921
|
@ -2811,3 +2811,26 @@ valuator_set_mode(DeviceIntPtr dev, int axis, int mode)
|
||||||
dev->valuator->axes[i].mode = mode;
|
dev->valuator->axes[i].mode = mode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
DeliverDeviceClassesChangedEvent(int sourceid, Time time)
|
||||||
|
{
|
||||||
|
DeviceIntPtr dev;
|
||||||
|
int num_events = 0;
|
||||||
|
InternalEvent dcce;
|
||||||
|
|
||||||
|
dixLookupDevice(&dev, sourceid, serverClient, DixWriteAccess);
|
||||||
|
|
||||||
|
if (!dev)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* UpdateFromMaster generates at most one event */
|
||||||
|
UpdateFromMaster(&dcce, dev, DEVCHANGE_POINTER_EVENT, &num_events);
|
||||||
|
BUG_WARN(num_events > 1);
|
||||||
|
|
||||||
|
if (num_events) {
|
||||||
|
dcce.any.time = time;
|
||||||
|
/* FIXME: This doesn't do anything */
|
||||||
|
dev->public.processInputProc(&dcce, dev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1245,4 +1245,3 @@ CopySprite(SpritePtr src, SpritePtr dst)
|
||||||
dst->spriteTraceGood = src->spriteTraceGood;
|
dst->spriteTraceGood = src->spriteTraceGood;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
28
dix/touch.c
28
dix/touch.c
|
@ -447,7 +447,7 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
|
||||||
if (!ti->history)
|
if (!ti->history)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TouchDeliverDeviceClassesChangedEvent(ti, ti->history[0].time, resource);
|
DeliverDeviceClassesChangedEvent(ti->sourceid, ti->history[0].time);
|
||||||
|
|
||||||
for (i = 0; i < ti->history_elements; i++) {
|
for (i = 0; i < ti->history_elements; i++) {
|
||||||
DeviceEvent *ev = &ti->history[i];
|
DeviceEvent *ev = &ti->history[i];
|
||||||
|
@ -471,30 +471,6 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
TouchDeliverDeviceClassesChangedEvent(TouchPointInfoPtr ti, Time time,
|
|
||||||
XID resource)
|
|
||||||
{
|
|
||||||
DeviceIntPtr dev;
|
|
||||||
int num_events = 0;
|
|
||||||
InternalEvent dcce;
|
|
||||||
|
|
||||||
dixLookupDevice(&dev, ti->sourceid, serverClient, DixWriteAccess);
|
|
||||||
|
|
||||||
if (!dev)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* UpdateFromMaster generates at most one event */
|
|
||||||
UpdateFromMaster(&dcce, dev, DEVCHANGE_POINTER_EVENT, &num_events);
|
|
||||||
BUG_WARN(num_events > 1);
|
|
||||||
|
|
||||||
if (num_events) {
|
|
||||||
dcce.any.time = time;
|
|
||||||
/* FIXME: This doesn't do anything */
|
|
||||||
dev->public.processInputProc(&dcce, dev);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
TouchBuildDependentSpriteTrace(DeviceIntPtr dev, SpritePtr sprite)
|
TouchBuildDependentSpriteTrace(DeviceIntPtr dev, SpritePtr sprite)
|
||||||
{
|
{
|
||||||
|
@ -1073,7 +1049,7 @@ TouchEmitTouchEnd(DeviceIntPtr dev, TouchPointInfoPtr ti, int flags, XID resourc
|
||||||
flags |= TOUCH_CLIENT_ID;
|
flags |= TOUCH_CLIENT_ID;
|
||||||
if (ti->emulate_pointer)
|
if (ti->emulate_pointer)
|
||||||
flags |= TOUCH_POINTER_EMULATED;
|
flags |= TOUCH_POINTER_EMULATED;
|
||||||
TouchDeliverDeviceClassesChangedEvent(ti, GetTimeInMillis(), resource);
|
DeliverDeviceClassesChangedEvent(ti->sourceid, GetTimeInMillis());
|
||||||
GetDixTouchEnd(&event, dev, ti, flags);
|
GetDixTouchEnd(&event, dev, ti, flags);
|
||||||
DeliverTouchEvents(dev, ti, &event, resource);
|
DeliverTouchEvents(dev, ti, &event, resource);
|
||||||
if (ti->num_grabs == 0)
|
if (ti->num_grabs == 0)
|
||||||
|
|
|
@ -549,6 +549,7 @@ extern int AllocXTestDevice(ClientPtr client, const char *name,
|
||||||
extern BOOL IsXTestDevice(DeviceIntPtr dev, DeviceIntPtr master);
|
extern BOOL IsXTestDevice(DeviceIntPtr dev, DeviceIntPtr master);
|
||||||
extern DeviceIntPtr GetXTestDevice(DeviceIntPtr master);
|
extern DeviceIntPtr GetXTestDevice(DeviceIntPtr master);
|
||||||
extern void SendDevicePresenceEvent(int deviceid, int type);
|
extern void SendDevicePresenceEvent(int deviceid, int type);
|
||||||
|
extern void DeliverDeviceClassesChangedEvent(int sourceid, Time time);
|
||||||
extern _X_EXPORT InputAttributes *DuplicateInputAttributes(InputAttributes *
|
extern _X_EXPORT InputAttributes *DuplicateInputAttributes(InputAttributes *
|
||||||
attrs);
|
attrs);
|
||||||
extern _X_EXPORT void FreeInputAttributes(InputAttributes * attrs);
|
extern _X_EXPORT void FreeInputAttributes(InputAttributes * attrs);
|
||||||
|
@ -612,8 +613,6 @@ extern int TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
||||||
extern int TouchAcceptReject(ClientPtr client, DeviceIntPtr dev, int mode,
|
extern int TouchAcceptReject(ClientPtr client, DeviceIntPtr dev, int mode,
|
||||||
uint32_t touchid, Window grab_window, XID *error);
|
uint32_t touchid, Window grab_window, XID *error);
|
||||||
extern void TouchEndPhysicallyActiveTouches(DeviceIntPtr dev);
|
extern void TouchEndPhysicallyActiveTouches(DeviceIntPtr dev);
|
||||||
extern void TouchDeliverDeviceClassesChangedEvent(TouchPointInfoPtr ti,
|
|
||||||
Time time, XID resource);
|
|
||||||
extern void TouchEmitTouchEnd(DeviceIntPtr dev, TouchPointInfoPtr ti, int flags, XID resource);
|
extern void TouchEmitTouchEnd(DeviceIntPtr dev, TouchPointInfoPtr ti, int flags, XID resource);
|
||||||
extern void TouchAcceptAndEnd(DeviceIntPtr dev, int touchid);
|
extern void TouchAcceptAndEnd(DeviceIntPtr dev, int touchid);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue