diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-07-14 16:37:22 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-11-07 12:20:58 +0000 |
commit | 4331ccd4b735d9d721a384193a3d42ee2ce6c805 (patch) | |
tree | 51b1ace16159ee858e36ff7948b9492ba9b3d319 | |
parent | 75cc5fdc219c42ae26ec8497647eda5440c324f2 (diff) |
QQuickWindow: cleanup pointer event instances
Pointer event instances are QObject-children of QQuickWindow, meaning
that they remain alive after ~QQuickWindow(), until execution reaches
~QObject(). Make sure the pointer event instances are cleaned up in
~QQuickWindow() to avoid accessing them later during the destruction
phase.
Task-number: QTBUG-61434
Change-Id: Icd4576e7581524773a3eb33864fdd64df821e0e8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 112a338920..70c8590ae7 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -1292,6 +1292,8 @@ QQuickWindow::~QQuickWindow() delete d->dragGrabber; d->dragGrabber = 0; #endif delete d->contentItem; d->contentItem = 0; + qDeleteAll(d->pointerEventInstances); + d->pointerEventInstances.clear(); d->renderJobMutex.lock(); qDeleteAll(d->beforeSynchronizingJobs); |