Fixed memory leak in windowing system event handling

processWindowSystemEvent does not delete the event, so
allocate it on the stack instead.

Change-Id: Iffda940ffc86ef1fabfbf101e08956fa07c49689
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This commit is contained in:
Gunnar Sletta 2011-11-25 13:28:12 +01:00 committed by Qt by Nokia
parent 09404c072f
commit 32ce1172ba

View File

@ -95,8 +95,8 @@ void QWindowSystemInterface::handleGeometryChange(QWindow *tlw, const QRect &new
void QWindowSystemInterface::handleSynchronousGeometryChange(QWindow *tlw, const QRect &newRect) void QWindowSystemInterface::handleSynchronousGeometryChange(QWindow *tlw, const QRect &newRect)
{ {
QWindowSystemInterfacePrivate::GeometryChangeEvent *e = new QWindowSystemInterfacePrivate::GeometryChangeEvent(tlw,newRect); QWindowSystemInterfacePrivate::GeometryChangeEvent e(tlw,newRect);
QGuiApplicationPrivate::processWindowSystemEvent(e); // send event immediately. QGuiApplicationPrivate::processWindowSystemEvent(&e); // send event immediately.
} }
void QWindowSystemInterface::handleCloseEvent(QWindow *tlw) void QWindowSystemInterface::handleCloseEvent(QWindow *tlw)
@ -284,8 +284,8 @@ void QWindowSystemInterface::handleUnmapEvent(QWindow *tlw)
void QWindowSystemInterface::handleSynchronousExposeEvent(QWindow *tlw, const QRegion &region) void QWindowSystemInterface::handleSynchronousExposeEvent(QWindow *tlw, const QRegion &region)
{ {
QWindowSystemInterfacePrivate::ExposeEvent *e = new QWindowSystemInterfacePrivate::ExposeEvent(tlw, region); QWindowSystemInterfacePrivate::ExposeEvent e(tlw, region);
QGuiApplicationPrivate::processWindowSystemEvent(e); // send event immediately. QGuiApplicationPrivate::processWindowSystemEvent(&e); // send event immediately.
} }
bool QWindowSystemInterface::sendWindowSystemEvents(QAbstractEventDispatcher *eventDispatcher, QEventLoop::ProcessEventsFlags flags) bool QWindowSystemInterface::sendWindowSystemEvents(QAbstractEventDispatcher *eventDispatcher, QEventLoop::ProcessEventsFlags flags)