summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2019-12-02 11:32:11 +0200
committerTomi Korpipaa <tomi.korpipaa@qt.io>2019-12-02 12:06:39 +0200
commit0ed29384c2f8307b21fa6ef27f65e56ae1ad8f93 (patch)
tree2e2dcf0c80edc2db47d348e8d9a4781db109375e
parent396f2cfbe098f5ce7935c8685971733dfb0fec73 (diff)
Fix black screen when deleting a window container
When deleting a window container with Q3DBars, or any other visualization type, we ended up with black screen. By calling deleteLater instead of immediate delete for the renderer we can avoid this. Fixes: QTBUG-80168 Change-Id: I6fd5aee5cd26ed1d96aa85b7877160e8996e093a Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 02a435aa..02b93ac5 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -112,11 +112,9 @@ void Abstract3DController::destroyRenderer()
{
QMutexLocker mutexLocker(&m_renderMutex);
// Renderer can be in another thread, don't delete it directly in that case
- if (m_renderer && m_renderer->thread() && m_renderer->thread() != this->thread())
+ if (m_renderer)
m_renderer->deleteLater();
- else
- delete m_renderer;
- m_renderer = 0;
+ m_renderer = nullptr;
}
/**