diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2018-04-25 13:20:35 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2018-05-29 18:15:19 +0000 |
commit | dba93db9a143ebf1e74f9fdf399b81b75e44f426 (patch) | |
tree | bb7101ca3804406cc2c007a988d58c2d0c885bff /src/quick/items/qquickevents.cpp | |
parent | 643329abd937108043886ccd7d2666570eb5bca3 (diff) |
fix a crash in QQuickEventPoint::setGrabberPointerHandler
If a Pointer Handler is used in an item view delegate, it can hold a
passive grab at the time it is destroyed, in which case the QPointer
will be set to null.
Change-Id: I18d9da36b95a22de327913b3a296bdbea1d7bb1a
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r-- | src/quick/items/qquickevents.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp index d020ad7c4c..cac52858b1 100644 --- a/src/quick/items/qquickevents.cpp +++ b/src/quick/items/qquickevents.cpp @@ -901,7 +901,7 @@ void QQuickEventPoint::setGrabberPointerHandler(QQuickPointerHandler *grabber, b if (grabber) { grabber->onGrabChanged(grabber, GrabExclusive, this); for (QPointer<QQuickPointerHandler> passiveGrabber : m_passiveGrabbers) { - if (passiveGrabber != grabber) + if (!passiveGrabber.isNull() && passiveGrabber != grabber) passiveGrabber->onGrabChanged(grabber, OverrideGrabPassive, this); } } |