diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-08-29 09:31:09 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-08-29 09:41:09 +0300 |
commit | 1f9a6ca62c282658ae1f76a59e521cd99a280ba5 (patch) | |
tree | 5df98ce3e69c50cff863d301fd513410839afb35 /src | |
parent | 11949906fe5d59ebb209e8cf508f5edd0836111e (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.cpp | 16 |
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()); |