diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2021-02-25 12:18:44 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-02-25 14:15:17 +0000 |
commit | a6e2c06aa97607343befacf265a039620466038b (patch) | |
tree | 003861833283d59421c325bcd69605c4fe2899d3 /src | |
parent | a6a96e6e85af9484af812fb334722fee1efd05eb (diff) |
Prevent division by zero
Fixes: QTBUG-91347
Change-Id: Ice76d050c47fa141749b77a0313c2f070151bbc1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
(cherry picked from commit ee774a0052ccd56994d6c5008ebb7469da1d87f8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-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); |