summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index d2b59c58..acb63f0a 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;
}
/**