xfree86 ddx: always free GKE/GPE events
free() events we get passed back from GKE and GPE so we don't just, er, leak them all. *cough*.
This commit is contained in:
parent
98fdf874ee
commit
afcad4ad99
|
@ -639,7 +639,7 @@ xf86PostMotionEvent(DeviceIntPtr device,
|
||||||
int i = 0, nevents = 0;
|
int i = 0, nevents = 0;
|
||||||
Bool drag = xf86SendDragEvents(device);
|
Bool drag = xf86SendDragEvents(device);
|
||||||
LocalDevicePtr local = (LocalDevicePtr) device->public.devicePrivate;
|
LocalDevicePtr local = (LocalDevicePtr) device->public.devicePrivate;
|
||||||
xEvent *xE = NULL;
|
xEvent *events = NULL;
|
||||||
int *valuators = NULL;
|
int *valuators = NULL;
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
|
|
||||||
|
@ -662,14 +662,15 @@ xf86PostMotionEvent(DeviceIntPtr device,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
nevents = GetPointerEvents(&xE, device, MotionNotify, 0,
|
nevents = GetPointerEvents(&events, device, MotionNotify, 0,
|
||||||
flags, num_valuators, valuators);
|
flags, num_valuators, valuators);
|
||||||
|
|
||||||
for (i = 0; i < nevents; i++) {
|
for (i = 0; i < nevents; i++) {
|
||||||
if (xE->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
||||||
xf86Info.lastEventTime = xE->u.keyButtonPointer.time;
|
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
||||||
mieqEnqueue(xE++);
|
mieqEnqueue(events + i);
|
||||||
}
|
}
|
||||||
|
xfree(events);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (HAS_MOTION_HISTORY(local)) {
|
if (HAS_MOTION_HISTORY(local)) {
|
||||||
|
@ -818,8 +819,9 @@ xf86PostButtonEvent(DeviceIntPtr device,
|
||||||
for (i = 0; i < nevents; i++) {
|
for (i = 0; i < nevents; i++) {
|
||||||
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
||||||
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
||||||
mieqEnqueue(events++);
|
mieqEnqueue(events + i);
|
||||||
}
|
}
|
||||||
|
xfree(events);
|
||||||
}
|
}
|
||||||
|
|
||||||
_X_EXPORT void
|
_X_EXPORT void
|
||||||
|
@ -862,8 +864,9 @@ xf86PostKeyEvent(DeviceIntPtr device,
|
||||||
for (i = 0; i < nevents; i++) {
|
for (i = 0; i < nevents; i++) {
|
||||||
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
||||||
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
||||||
mieqEnqueue(events++);
|
mieqEnqueue(events + i);
|
||||||
}
|
}
|
||||||
|
xfree(events);
|
||||||
}
|
}
|
||||||
|
|
||||||
_X_EXPORT void
|
_X_EXPORT void
|
||||||
|
@ -885,8 +888,9 @@ xf86PostKeyboardEvent(DeviceIntPtr device,
|
||||||
for (i = 0; i < nevents; i++) {
|
for (i = 0; i < nevents; i++) {
|
||||||
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
|
||||||
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
|
||||||
mieqEnqueue(events++);
|
mieqEnqueue(events + i);
|
||||||
}
|
}
|
||||||
|
xfree(events);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue