Fixed memory leak in windowing system event handling
authorGunnar Sletta <gunnar.sletta@nokia.com>
Fri, 25 Nov 2011 12:28:12 +0000 (13:28 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 25 Nov 2011 13:41:26 +0000 (14:41 +0100)
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>
src/gui/kernel/qwindowsysteminterface_qpa.cpp

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