xfree86: fix xf86PostMotionEventP type checking

We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2009-05-06 12:07:07 +10:00
parent 9457ce4489
commit 0d947aa8e8

View File

@ -744,7 +744,7 @@ xf86PostMotionEventP(DeviceIntPtr device,
int i = 0, nevents = 0;
int dx = 0, dy = 0;
Bool drag = xf86SendDragEvents(device);
xEvent *xE = NULL;
DeviceEvent *event;
int index;
int flags = 0;
@ -790,10 +790,11 @@ xf86PostMotionEventP(DeviceIntPtr device,
valuators);
for (i = 0; i < nevents; i++) {
xE = (xf86Events + i)->event;
event = (DeviceEvent*)((xf86Events + i)->event);
/* Don't post core motion events for devices not registered to send
* drag events. */
if (xE->u.u.type != MotionNotify || drag) {
if (event->header == ET_Internal &&
(event->type != ET_Motion || drag)) {
mieqEnqueue(device, (InternalEvent*)((xf86Events + i)->event));
}
}