diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-09-16 07:31:30 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-09-16 07:35:50 +0300 |
commit | b6d5edf9775f6bf2aa4f91906763bd1c492d47e7 (patch) | |
tree | 84d91e33347564ae5b71f39f6d0f3a6884228b3b /src/datavisualization/engine/bars3drenderer.cpp | |
parent | 9cc5a9f312dfb982044f5756bb5b857657378b02 (diff) |
Invalid slice usage crash fixed
Task-number: QTRD-3301
Change-Id: I0e39348a2e9392b4c1f0bd7ef26c5613272460e2
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/bars3drenderer.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 3e83a830..da774239 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -456,6 +456,11 @@ void Bars3DRenderer::render(GLuint defaultFboHandle) void Bars3DRenderer::drawSlicedScene() { + if (!m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionSlice)) { + qWarning("Selection mode QAbstract3DGraph::SelectionSlice not set. It must be set before calling setSlicingActive(true)."); + return; + } + GLfloat barPosX = 0; QVector3D lightPos; QVector4D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); @@ -815,6 +820,12 @@ void Bars3DRenderer::drawSlicedScene() int labelCount = m_sliceCache->labelItems().size(); for (int labelNo = 0; labelNo < labelCount; labelNo++) { + // Check for invalid usage (no selection when setting slicing active) + if (!firstVisualSliceArray) { + qWarning("No slice data found. Make sure there is a valid selection."); + continue; + } + // Get labels from first series only const BarRenderSliceItem &item = firstVisualSliceArray->at(labelNo); m_dummyBarRenderItem.setTranslation(QVector3D(item.translation().x(), |