summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2021-02-25 12:18:44 +0200
committerTomi Korpipaa <tomi.korpipaa@qt.io>2021-02-25 15:19:12 +0200
commitee774a0052ccd56994d6c5008ebb7469da1d87f8 (patch)
treea33cd0b3b9f0088d07f9f880da30a1fba4000c41 /src/datavisualization/data
parent67f96d88bf1dad76c89b11caaa79177d75953866 (diff)
Prevent division by zero
Pick-to: 6.1 Fixes: QTBUG-91347 Change-Id: Ice76d050c47fa141749b77a0313c2f070151bbc1 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/datavisualization/data')
-rw-r--r--src/datavisualization/data/surfaceitemmodelhandler.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp
index 59bbd4b4..271fa299 100644
--- a/src/datavisualization/data/surfaceitemmodelhandler.cpp
+++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp
@@ -313,12 +313,14 @@ void SurfaceItemModelHandler::resolveModel()
for (int j = 0; j < columnList.size(); j++) {
QVector3D &itemPos = itemValueMap[rowKey][columnList.at(j)];
if (cumulative) {
- if (average) {
- itemPos /= float((*matchCountMap)[rowKey][columnList.at(j)]);
- } else { // cumulativeY
- float divisor = float((*matchCountMap)[rowKey][columnList.at(j)]);
- itemPos.setX(itemPos.x() / divisor);
- itemPos.setZ(itemPos.z() / divisor);
+ float divisor = float((*matchCountMap)[rowKey][columnList.at(j)]);
+ if (divisor) {
+ if (average) {
+ itemPos /= divisor;
+ } else { // cumulativeY
+ itemPos.setX(itemPos.x() / divisor);
+ itemPos.setZ(itemPos.z() / divisor);
+ }
}
}
newProxyRow[j].setPosition(itemPos);