diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2023-04-13 14:20:35 +0300 |
---|---|---|
committer | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2023-04-18 07:34:36 +0300 |
commit | 86665d774ec0e4efb46eec47fdc8297a3ff5d196 (patch) | |
tree | 7f974b66569c5a443657ddebf0971034c796668f /src | |
parent | 63b27b664ea8a41420723e053830412068c6eefe (diff) |
Fix invalid value handling
Pick-to: 6.5
Fixes: QTBUG-112773
Change-Id: I3b00587d27e88dd69b58efe3551abf8759df0020
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 6 | ||||
-rw-r--r-- | src/datavisualization/theme/q3dtheme.cpp | 12 | ||||
-rw-r--r-- | src/datavisualization/theme/q3dtheme.h | 2 | ||||
-rw-r--r-- | src/datavisualizationqml/abstractdeclarative.cpp | 5 |
4 files changed, 15 insertions, 10 deletions
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; |