diff options
Diffstat (limited to 'src/core/nodes/qnode.cpp')
-rw-r--r-- | src/core/nodes/qnode.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/nodes/qnode.cpp b/src/core/nodes/qnode.cpp index 5f9468124..5c37e337e 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; @@ -690,6 +687,11 @@ QNodePrivate *QNodePrivate::get(QNode *q) return q->d_func(); } +const QNodePrivate *QNodePrivate::get(const QNode *q) +{ + return q->d_func(); +} + /*! \internal */ |