summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 09:31:09 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 09:41:09 +0300
commit1f9a6ca62c282658ae1f76a59e521cd99a280ba5 (patch)
tree5df98ce3e69c50cff863d301fd513410839afb35 /src
parent11949906fe5d59ebb209e8cf508f5edd0836111e (diff)
Fix crash when resetting axes
Selection label generation didn't account for case where category axes are empty. Change-Id: I3c41f14764f810b52c20c5fc8adce5f9d8dea4d5 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/datavis3d/engine/bars3drenderer.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/datavis3d/engine/bars3drenderer.cpp b/src/datavis3d/engine/bars3drenderer.cpp
index ce7dd0e4..cb26a88c 100644
--- a/src/datavis3d/engine/bars3drenderer.cpp
+++ b/src/datavis3d/engine/bars3drenderer.cpp
@@ -1351,11 +1351,19 @@ void Bars3dRenderer::drawScene(CameraHelper *camera,
// Custom format expects printf format specifier. There is no tag for it.
labelText = generateValueLabel(itemLabelFormat(), selectedBar->value());
- labelText.replace(rowIndexTag, QString::number(selectedBar->position().x()));
- labelText.replace(rowLabelTag, m_axisCacheX.labels().at(selectedBar->position().x()));
+ int selBarPosX = selectedBar->position().x();
+ int selBarPosY = selectedBar->position().y();
+ labelText.replace(rowIndexTag, QString::number(selBarPosX));
+ if (m_axisCacheX.labels().size() > selBarPosX)
+ labelText.replace(rowLabelTag, m_axisCacheX.labels().at(selBarPosX));
+ else
+ labelText.replace(rowLabelTag, QString());
labelText.replace(rowTitleTag, m_axisCacheX.title());
- labelText.replace(colIndexTag, QString::number(selectedBar->position().y()));
- labelText.replace(colLabelTag, m_axisCacheZ.labels().at(selectedBar->position().y()));
+ labelText.replace(colIndexTag, QString::number(selBarPosY));
+ if (m_axisCacheZ.labels().size() > selBarPosY)
+ labelText.replace(colLabelTag, m_axisCacheZ.labels().at(selBarPosY));
+ else
+ labelText.replace(colLabelTag, QString());
labelText.replace(colTitleTag, m_axisCacheZ.title());
labelText.replace(valueTitleTag, m_axisCacheY.title());