diff options
Diffstat (limited to 'src/datavisualization/engine/seriesrendercache.cpp')
-rw-r--r-- | src/datavisualization/engine/seriesrendercache.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 8cfd9b08..7e51df1e 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -55,11 +55,6 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * QAbstract3DSeriesChangeBitField &changeTracker = series->d_ptr->m_changeTracker; - if (seriesChanged || changeTracker.itemLabelFormatChanged) { - m_itemLabelFormat = series->itemLabelFormat(); - changeTracker.itemLabelFormatChanged = false; - } - if (seriesChanged || changeTracker.meshChanged || changeTracker.meshSmoothChanged || changeTracker.userDefinedMeshChanged) { m_mesh = series->mesh(); @@ -182,6 +177,18 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * m_name = series->name(); changeTracker.nameChanged = false; } + + if (seriesChanged || changeTracker.itemLabelChanged + || changeTracker.itemLabelVisibilityChanged) { + changeTracker.itemLabelChanged = false; + changeTracker.itemLabelVisibilityChanged = false; + // series->itemLabel() call resolves the item label and emits the changed signal + // if it is dirty, so we need to call it even if m_itemLabel is eventually set + // to an empty string. + m_itemLabel = series->itemLabel(); + if (!series->isItemLabelVisible()) + m_itemLabel = QString(); + } } void SeriesRenderCache::cleanup(TextureHelper *texHelper) |