summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSami Varanka <sami.varanka@qt.io>2021-07-23 10:40:55 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-03 09:11:19 +0000
commit6a34cb0db0b177ecc09eea0c623906e1504ca580 (patch)
tree624c3bca08bb841510de4155db93c688e1545de0 /src
parent66bd87c031a8a181ca76070855638c6521fd0468 (diff)
Fix: basegradient applied incorrectly to surface
When surface data contains NaN/Inf values, the basegradient might get applied incorrectly. Fixed the error by adding check for NaN/Inf in getNormalizedVertex. Fixes: QTBUG-78767 Change-Id: I94d850f8ed21bc98dcbc4ba26b02989c1c1bf90b Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> (cherry picked from commit 55bd8fbf38d3eede7ae7cf0eed357117e9eeba98) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/datavisualization/utils/surfaceobject.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp
index 6734ac86..7d73e700 100644
--- a/src/datavisualization/utils/surfaceobject.cpp
+++ b/src/datavisualization/utils/surfaceobject.cpp
@@ -870,7 +870,8 @@ void SurfaceObject::getNormalizedVertex(const QSurfaceDataItem &data, QVector3D
}
float normalizedY = m_axisCacheY.positionAt(data.y());
m_minY = qMin(normalizedY, m_minY);
- m_maxY = qMax(normalizedY, m_maxY);
+ if (!qIsNaN(normalizedY) && !qIsInf(normalizedY))
+ m_maxY = qMax(normalizedY, m_maxY);
vertex.setX(normalizedX);
vertex.setY(normalizedY);
vertex.setZ(normalizedZ);