xserver: Branch 'input-hotplug'
Daniel Stone
daniels at kemper.freedesktop.org
Mon Aug 7 18:11:24 EEST 2006
hw/xfree86/common/xf86Xinput.c | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
New commits:
diff-tree afcad4ad99bbfc8bdcd0f4fdd70e072108410d30 (from 98fdf874eeadd5b37413922d8afba8415d0c56bb)
Author: Daniel Stone <daniel at fooishbar.org>
Date: Mon Aug 7 18:11:05 2006 +0300
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*.
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index bcae3f0..91db82e 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -639,7 +639,7 @@ xf86PostMotionEvent(DeviceIntPtr device,
int i = 0, nevents = 0;
Bool drag = xf86SendDragEvents(device);
LocalDevicePtr local = (LocalDevicePtr) device->public.devicePrivate;
- xEvent *xE = NULL;
+ xEvent *events = NULL;
int *valuators = NULL;
int flags = 0;
@@ -662,14 +662,15 @@ xf86PostMotionEvent(DeviceIntPtr device,
#endif
}
- nevents = GetPointerEvents(&xE, device, MotionNotify, 0,
+ nevents = GetPointerEvents(&events, device, MotionNotify, 0,
flags, num_valuators, valuators);
for (i = 0; i < nevents; i++) {
- if (xE->u.keyButtonPointer.time > xf86Info.lastEventTime)
- xf86Info.lastEventTime = xE->u.keyButtonPointer.time;
- mieqEnqueue(xE++);
+ if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
+ xf86Info.lastEventTime = events->u.keyButtonPointer.time;
+ mieqEnqueue(events + i);
}
+ xfree(events);
#if 0
if (HAS_MOTION_HISTORY(local)) {
@@ -818,8 +819,9 @@ xf86PostButtonEvent(DeviceIntPtr device,
for (i = 0; i < nevents; i++) {
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
- mieqEnqueue(events++);
+ mieqEnqueue(events + i);
}
+ xfree(events);
}
_X_EXPORT void
@@ -862,8 +864,9 @@ xf86PostKeyEvent(DeviceIntPtr device,
for (i = 0; i < nevents; i++) {
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
- mieqEnqueue(events++);
+ mieqEnqueue(events + i);
}
+ xfree(events);
}
_X_EXPORT void
@@ -885,8 +888,9 @@ xf86PostKeyboardEvent(DeviceIntPtr
for (i = 0; i < nevents; i++) {
if (events->u.keyButtonPointer.time > xf86Info.lastEventTime)
xf86Info.lastEventTime = events->u.keyButtonPointer.time;
- mieqEnqueue(events++);
+ mieqEnqueue(events + i);
}
+ xfree(events);
}
/*
More information about the xorg-commit
mailing list