diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-17 10:24:02 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-17 11:00:21 +0200 |
commit | 631b1913f4115fc163a21fc8aba85b87b10a666a (patch) | |
tree | 5b7f8aff2f79abba2d2d2796e8340be9d352098d /src/datavisualization/engine/abstract3drenderer.cpp | |
parent | edb2cdbf30efe9bc8aec0aa89161c620899d3b4c (diff) |
Optimize theme update
Do not reinitialize shaders in theme update and only update
drawer if label related items change.
Also fix the bug automerge slipped in in recent rebase.
Task-number: QTRD-2778
Change-Id: I4c4317dd36a8e8b60dcaec224f45df81c2ae7f54
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 95840b0a..350da1fc 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -162,14 +162,10 @@ void Abstract3DRenderer::initGradientShaders(const QString &vertexShader, const void Abstract3DRenderer::updateTheme(Q3DTheme *theme) { // Synchronize the controller theme with renderer - bool changed = theme->d_ptr->sync(*m_cachedTheme->d_ptr); + bool updateDrawer = theme->d_ptr->sync(*m_cachedTheme->d_ptr); - if (changed) { - // Update drawer if sync changed something + if (updateDrawer) m_drawer->setTheme(m_cachedTheme); - // Re-initialize shaders - reInitShaders(); - } } void Abstract3DRenderer::updateScene(Q3DScene *scene) |