From bafaf813356e308311bd1174b71e3c16c9fa0049 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 15 Oct 2014 12:59:27 +0300 Subject: Fix scatter item autosizing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Autosizing only accounted for freshly changed series when calculating the total item count visible in the graph. Change-Id: I7c0990123d3e3827c3518713f5389fedf91aca92 Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/scatter3drenderer.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 8ccd0824..d2f085be 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -184,23 +184,25 @@ void Scatter3DRenderer::updateData() foreach (SeriesRenderCache *baseCache, m_renderCacheList) { ScatterSeriesRenderCache *cache = static_cast(baseCache); - if (cache->isVisible() && cache->dataDirty()) { + if (cache->isVisible()) { const QScatter3DSeries *currentSeries = cache->series(); ScatterRenderItemArray &renderArray = cache->renderArray(); QScatterDataProxy *dataProxy = currentSeries->dataProxy(); const QScatterDataArray &dataArray = *dataProxy->array(); int dataSize = dataArray.size(); totalDataSize += dataSize; - if (dataSize != renderArray.size()) - renderArray.resize(dataSize); + if (cache->dataDirty()) { + if (dataSize != renderArray.size()) + renderArray.resize(dataSize); - for (int i = 0; i < dataSize; i++) - updateRenderItem(dataArray.at(i), renderArray[i]); + for (int i = 0; i < dataSize; i++) + updateRenderItem(dataArray.at(i), renderArray[i]); - if (m_cachedOptimizationHint.testFlag(QAbstract3DGraph::OptimizationStatic)) - cache->setStaticBufferDirty(true); + if (m_cachedOptimizationHint.testFlag(QAbstract3DGraph::OptimizationStatic)) + cache->setStaticBufferDirty(true); - cache->setDataDirty(false); + cache->setDataDirty(false); + } } } -- cgit v1.2.3