diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-08-30 11:41:18 +0200 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2019-09-16 10:39:23 +0200 |
commit | 6a9609f8956ccc528da8b7acee2d7a3d195b2b2d (patch) | |
tree | d12aef2a869a8572fb48163bc7db0def2c52abc5 /src/core/nodes | |
parent | c89997143cd6e51916924b71c8b0bf8705480a67 (diff) |
Use direct access to remove backend nodes
- Stop using messages
- Remove QSceneObserverInterface
- Ensure backend node creation/destruction is done at the right time
Change-Id: I470825af344ab65bf05e93fc149b61d1b9eefc96
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/nodes')
-rw-r--r-- | src/core/nodes/qnode.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/core/nodes/qnode.cpp b/src/core/nodes/qnode.cpp index 5f9468124..b41f5b3e2 100644 --- a/src/core/nodes/qnode.cpp +++ b/src/core/nodes/qnode.cpp @@ -149,11 +149,8 @@ void QNodePrivate::notifyDestructionChangesAndRemoveFromScene() } // Tell the backend we are about to be destroyed - if (m_hasBackendNode) { - const QDestructionIdAndTypeCollector collector(q); - const auto destroyedChange = QNodeDestroyedChangePtr::create(q, collector.subtreeIdsAndTypes()); - notifyObservers(destroyedChange); - } + if (m_hasBackendNode && m_scene && m_scene->engine()) + QAspectEnginePrivate::get(m_scene->engine())->removeNode(q); // We unset the scene from the node as its backend node was/is about to be destroyed QNodeVisitor visitor; |