aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2016-07-29 16:05:38 +0200
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2016-07-31 21:46:45 +0000
commitb13668d5304c0c0cef116fb3126d772083a71563 (patch)
tree493c7daf18e69b8657248dc0ea5642da5871d0f9 /src/quick/items/qquickevents.cpp
parent397588a9f68886608d2d257f70178ffc1b79e6ae (diff)
Make QQuickEventPoint::grabber a QPointer internally
Accessing the grabbers was always dangerous. The present code only works because it iterates over all current QQuickItems and doesn't even try to deal with things being deleted inbetween. Change-Id: Id85791dcbd87ec8c5027f9c1376cb39e5779cabe Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r--src/quick/items/qquickevents.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp
index 46b6bbe87e..966a78f56b 100644
--- a/src/quick/items/qquickevents.cpp
+++ b/src/quick/items/qquickevents.cpp
@@ -501,6 +501,15 @@ QQuickPointerDevice *QQuickPointerDevice::tabletDevice(qint64 id)
return nullptr;
}
+QQuickItem *QQuickEventPoint::grabber() const
+{
+ return m_grabber.data();
+}
+
+void QQuickEventPoint::setGrabber(QQuickItem *grabber)
+{
+ m_grabber = QPointer<QQuickItem>(grabber);
+}
QQuickEventTouchPoint::QQuickEventTouchPoint(QQuickPointerTouchEvent *parent)
: QQuickEventPoint(parent), m_rotation(0), m_pressure(0)