diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2021-02-25 12:18:44 +0200 |
---|---|---|
committer | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2021-02-25 15:19:12 +0200 |
commit | ee774a0052ccd56994d6c5008ebb7469da1d87f8 (patch) | |
tree | a33cd0b3b9f0088d07f9f880da30a1fba4000c41 /src/datavisualization/data | |
parent | 67f96d88bf1dad76c89b11caaa79177d75953866 (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.cpp | 14 |
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); |