From a6e2c06aa97607343befacf265a039620466038b Mon Sep 17 00:00:00 2001 From: Tomi Korpipaa Date: Thu, 25 Feb 2021 12:18:44 +0200 Subject: Prevent division by zero Fixes: QTBUG-91347 Change-Id: Ice76d050c47fa141749b77a0313c2f070151bbc1 Reviewed-by: Miikka Heikkinen (cherry picked from commit ee774a0052ccd56994d6c5008ebb7469da1d87f8) Reviewed-by: Qt Cherry-pick Bot --- src/datavisualization/data/surfaceitemmodelhandler.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') 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); -- cgit v1.2.3