From 1c612ba94ad1a57d76a7fd6d3e15f2d314bce545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 4 Feb 2014 08:21:13 +0200 Subject: Abstractdeclarative crash vulnerability fix Change-Id: I28a455daa156c93807e12335bafa0d06c09e56c7 Change-Id: I28a455daa156c93807e12335bafa0d06c09e56c7 Reviewed-by: Miikka Heikkinen --- src/datavisualizationqml2/abstractdeclarative.cpp | 10 ++++------ src/datavisualizationqml2/abstractdeclarative_p.h | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp index 3c969848..98792fd0 100644 --- a/src/datavisualizationqml2/abstractdeclarative.cpp +++ b/src/datavisualizationqml2/abstractdeclarative.cpp @@ -172,8 +172,8 @@ void AbstractDeclarative::updateWindowParameters() { // Update the device pixel ratio, window size and bounding box QQuickWindow *win = window(); - Q3DScene *scene = m_controller->scene(); - if (win) { + if (win && !m_controller.isNull()) { + Q3DScene *scene = m_controller->scene(); if (win->devicePixelRatio() != scene->devicePixelRatio()) { scene->setDevicePixelRatio(win->devicePixelRatio()); win->update(); @@ -185,10 +185,8 @@ void AbstractDeclarative::updateWindowParameters() } QPointF point = QQuickItem::mapToScene(QPointF(0.0f, 0.0f)); - if (m_controller) { - scene->d_ptr->setViewport(QRect(point.x(), point.y(), m_cachedGeometry.width(), - m_cachedGeometry.height())); - } + scene->d_ptr->setViewport(QRect(point.x(), point.y(), m_cachedGeometry.width(), + m_cachedGeometry.height())); } } diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h index c75a0430..16effca0 100644 --- a/src/datavisualizationqml2/abstractdeclarative_p.h +++ b/src/datavisualizationqml2/abstractdeclarative_p.h @@ -130,7 +130,6 @@ protected: virtual void handleShadowQualityChange(QAbstract3DGraph::ShadowQuality quality); signals: - // Signals shadow quality changes. void selectionModeChanged(SelectionFlags mode); void shadowQualityChanged(ShadowQuality quality); void sceneChanged(Q3DScene *scene); @@ -147,4 +146,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractDeclarative::SelectionFlags) QT_END_NAMESPACE_DATAVISUALIZATION -#endif // ABSTRACTDECLARATIVE_P_H +#endif -- cgit v1.2.3