diff options
author | Sami Varanka <sami.varanka@qt.io> | 2021-05-12 13:03:07 +0300 |
---|---|---|
committer | Sami Varanka <sami.varanka@qt.io> | 2021-05-18 12:44:28 +0300 |
commit | c9768c1e2440e52976c3456a9a4d302edf49f56a (patch) | |
tree | a11032d74b493fc94da94a58ead7522fb681db0f /src/datavisualization/engine | |
parent | ddbed903550cbec68688a4bcd4cb2bdddc9a850c (diff) |
Fix Gradients don't show
Added pointer to graph in Abstract3DController.
Controller can use that pointer to check whether
the graph is ready when receiving
a themetypeChanged signal. Added manual test
for gradients.
Pick-to: 6.1
Fixes: QTBUG-93506
Change-Id: I13df962b807feb615e3267f580ef57dd62a0b058
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 9 | ||||
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller_p.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 3481f4eb..5ed62ca9 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -27,6 +27,7 @@ ** ****************************************************************************/ +#include "abstractdeclarative_p.h" #include "abstract3dcontroller_p.h" #include "qabstract3daxis_p.h" #include "qvalue3daxis_p.h" @@ -692,12 +693,16 @@ void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) { Q_UNUSED(theme); + if (!m_qml) + return; + // Changing theme type is logically equivalent of changing the entire theme // object, so reset all attached series to the new theme. - + bool force = m_qml->isReady(); Q3DTheme *activeTheme = m_themeManager->activeTheme(); for (int i = 0; i < m_seriesList.size(); i++) - m_seriesList.at(i)->d_ptr->resetToTheme(*activeTheme, i, true); + m_seriesList.at(i)->d_ptr->resetToTheme(*activeTheme, i, force); + markSeriesVisualsDirty(); } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 5a99ecfc..916b3e1e 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -56,6 +56,7 @@ QT_FORWARD_DECLARE_CLASS(QOpenGLFramebufferObject) QT_BEGIN_NAMESPACE +class AbstractDeclarative; class Abstract3DRenderer; class QAbstract3DSeries; class ThemeManager; @@ -225,6 +226,7 @@ protected: qreal m_margin; QMutex m_renderMutex; + AbstractDeclarative *m_qml = nullptr; explicit Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent = 0); |