From 86665d774ec0e4efb46eec47fdc8297a3ff5d196 Mon Sep 17 00:00:00 2001 From: Tomi Korpipaa Date: Thu, 13 Apr 2023 14:20:35 +0300 Subject: Fix invalid value handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pick-to: 6.5 Fixes: QTBUG-112773 Change-Id: I3b00587d27e88dd69b58efe3551abf8759df0020 Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/abstract3dcontroller.cpp | 6 +++--- src/datavisualization/theme/q3dtheme.cpp | 12 +++++++----- src/datavisualization/theme/q3dtheme.h | 2 +- src/datavisualizationqml/abstractdeclarative.cpp | 5 ++++- 4 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 9a0d76f2..da5fd645 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -1592,7 +1592,7 @@ bool Abstract3DController::isOrthoProjection() const void Abstract3DController::setAspectRatio(qreal ratio) { - if (m_aspectRatio != ratio) { + if (m_aspectRatio != ratio && ratio > 0) { m_aspectRatio = ratio; m_changeTracker.aspectRatioChanged = true; emit aspectRatioChanged(m_aspectRatio); @@ -1608,7 +1608,7 @@ qreal Abstract3DController::aspectRatio() void Abstract3DController::setHorizontalAspectRatio(qreal ratio) { - if (m_horizontalAspectRatio != ratio) { + if (m_horizontalAspectRatio != ratio && ratio > 0) { m_horizontalAspectRatio = ratio; m_changeTracker.horizontalAspectRatioChanged = true; emit horizontalAspectRatioChanged(m_horizontalAspectRatio); @@ -1639,7 +1639,7 @@ bool Abstract3DController::reflection() const void Abstract3DController::setReflectivity(qreal reflectivity) { - if (m_reflectivity != reflectivity) { + if (m_reflectivity != reflectivity && reflectivity > 0) { m_reflectivity = reflectivity; m_changeTracker.reflectivityChanged = true; emit reflectivityChanged(m_reflectivity); diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 8832ad0d..39fe9dbc 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -996,11 +996,13 @@ Q3DTheme::ColorStyle Q3DTheme::colorStyle() const */ void Q3DTheme::setType(Theme themeType) { - d_ptr->m_dirtyBits.themeIdDirty = true; - if (d_ptr->m_themeId != themeType) { - d_ptr->m_themeId = themeType; - ThemeManager::setPredefinedPropertiesToTheme(this, themeType); - emit typeChanged(themeType); + if (themeType >= ThemeQt && themeType <= ThemeUserDefined) { + d_ptr->m_dirtyBits.themeIdDirty = true; + if (d_ptr->m_themeId != themeType) { + d_ptr->m_themeId = themeType; + ThemeManager::setPredefinedPropertiesToTheme(this, themeType); + emit typeChanged(themeType); + } } } diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index 3da755d1..5087d854 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -50,7 +50,7 @@ public: }; enum Theme { - ThemeQt, + ThemeQt = 0, ThemePrimaryColors, ThemeDigia, ThemeStoneMoss, diff --git a/src/datavisualizationqml/abstractdeclarative.cpp b/src/datavisualizationqml/abstractdeclarative.cpp index 5358050a..8abfd94c 100644 --- a/src/datavisualizationqml/abstractdeclarative.cpp +++ b/src/datavisualizationqml/abstractdeclarative.cpp @@ -64,8 +64,11 @@ AbstractDeclarative::~AbstractDeclarative() void AbstractDeclarative::setRenderingMode(AbstractDeclarative::RenderingMode mode) { - if (mode == m_renderMode) + if (mode == m_renderMode + || mode <= AbstractDeclarative::RenderingMode::RenderDirectToBackground + || mode >= AbstractDeclarative::RenderingMode::RenderIndirect) { return; + } RenderingMode previousMode = m_renderMode; -- cgit v1.2.3