diff options
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index d2b59c58..ec18a850 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -81,13 +81,19 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen Abstract3DController::~Abstract3DController() { + destroyRenderer(); + delete m_scene; + delete m_themeManager; +} + +void Abstract3DController::destroyRenderer() +{ // Renderer can be in another thread, don't delete it directly in that case if (m_renderer && m_renderer->thread() != QThread::currentThread()) m_renderer->deleteLater(); else delete m_renderer; - delete m_scene; - delete m_themeManager; + m_renderer = 0; } /** @@ -724,6 +730,15 @@ QAbstract3DGraph::ShadowQuality Abstract3DController::shadowQuality() const return m_shadowQuality; } +bool Abstract3DController::shadowsSupported() const +{ +#if defined(QT_OPENGL_ES_2) + return false; +#else + return true; +#endif +} + bool Abstract3DController::isSlicingActive() const { return m_scene->isSlicingActive(); |