diff options
author | Robin Burchell <robin.burchell@crimson.no> | 2018-04-09 15:41:02 +0200 |
---|---|---|
committer | Michael Brasser <michael.brasser@live.com> | 2018-04-30 15:16:18 +0000 |
commit | f9686bc68696ad1e99a0587f15d05300d003d990 (patch) | |
tree | a9924bb8ade0ce8c858c4bb5474cb4adbf60ad4b /src/quick/items/qquickitem.cpp | |
parent | 01df9e5f46fd05a80f8f6fcaa91204e6184ded6f (diff) |
QQuickItem: Guard against null deref in transformations
Change-Id: Ieb14322c104d816842e04e521b556bfc11855f1c
Task-number: QTBUG-67024
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r-- | src/quick/items/qquickitem.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 3a0aea517c..3d650bf223 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -3134,6 +3134,9 @@ void QQuickItemPrivate::itemToParentTransform(QTransform &t) const */ QTransform QQuickItemPrivate::windowToGlobalTransform() const { + if (Q_UNLIKELY(window == nullptr)) + return QTransform(); + QPoint quickWidgetOffset; QWindow *renderWindow = QQuickRenderControl::renderWindowFor(window, &quickWidgetOffset); QPointF pos = (renderWindow ? renderWindow : window)->mapToGlobal(quickWidgetOffset); @@ -3145,6 +3148,9 @@ QTransform QQuickItemPrivate::windowToGlobalTransform() const */ QTransform QQuickItemPrivate::globalToWindowTransform() const { + if (Q_UNLIKELY(window == nullptr)) + return QTransform(); + QPoint quickWidgetOffset; QWindow *renderWindow = QQuickRenderControl::renderWindowFor(window, &quickWidgetOffset); QPointF pos = (renderWindow ? renderWindow : window)->mapToGlobal(quickWidgetOffset); |