aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2018-04-25 13:20:35 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2018-05-29 18:15:19 +0000
commitdba93db9a143ebf1e74f9fdf399b81b75e44f426 (patch)
treebb7101ca3804406cc2c007a988d58c2d0c885bff /src/quick/items/qquickevents.cpp
parent643329abd937108043886ccd7d2666570eb5bca3 (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.cpp2
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);
}
}