diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2019-12-02 11:32:11 +0200 |
---|---|---|
committer | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2019-12-02 12:06:39 +0200 |
commit | 0ed29384c2f8307b21fa6ef27f65e56ae1ad8f93 (patch) | |
tree | 2e2dcf0c80edc2db47d348e8d9a4781db109375e /src/datavisualization/engine/abstract3dcontroller.cpp | |
parent | 396f2cfbe098f5ce7935c8685971733dfb0fec73 (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>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 6 |
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; } /** |