XCB: Fix leak with touch devices

Task-number: QTBUG-39596
Change-Id: I4225d5a1ab4939280640b35d30c283f056a56519
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
bb10
Joni Poikelin 2014-06-12 10:28:23 +03:00 committed by Laszlo Agocs
parent 11161bbfad
commit e98c461d43
1 changed files with 6 additions and 0 deletions

View File

@ -228,6 +228,11 @@ void QXcbConnection::xi2SetupDevices()
void QXcbConnection::finalizeXInput2()
{
foreach (XInput2DeviceData *dev, m_touchDevices) {
if (dev->xiDeviceInfo)
XIFreeDeviceInfo(dev->xiDeviceInfo);
delete dev;
}
}
void QXcbConnection::xi2Select(xcb_window_t window)
@ -393,6 +398,7 @@ XInput2DeviceData *QXcbConnection::deviceForId(int id)
m_touchDevices[id] = dev;
} else {
m_touchDevices.remove(id);
XIFreeDeviceInfo(dev->xiDeviceInfo);
delete dev;
dev = 0;
}