diff options
Diffstat (limited to 'src/core/nodes/nodevisitor.cpp')
-rw-r--r-- | src/core/nodes/nodevisitor.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/nodes/nodevisitor.cpp b/src/core/nodes/nodevisitor.cpp index ac25fc488..f830b6bb4 100644 --- a/src/core/nodes/nodevisitor.cpp +++ b/src/core/nodes/nodevisitor.cpp @@ -62,9 +62,7 @@ void NodeVisitor::traverse(QNode *rootNode) m_path = NodeList() << rootNode; m_matrixStack.clear(); - QEntity* rootEntity = rootNode->asEntity(); - -// m_matrixStack.append(rootEntity ? rootEntity->matrix() : QMatrix4x4()); + QEntity* rootEntity = qobject_cast<QEntity *>(rootNode); if (rootEntity) visitEntity(rootEntity); @@ -110,15 +108,17 @@ void NodeVisitor::visitEntity(QEntity *nd) void NodeVisitor::traverseChildren() { - foreach (QNode* n, currentNode()->children()) { - outerVisitNode(n); + foreach (QObject *n, currentNode()->children()) { + QNode *node = qobject_cast<QNode *>(n); + if (node != Q_NULLPTR) + outerVisitNode(node); } // of children iteration } void NodeVisitor::outerVisitNode(QNode *n) { m_path.append(n); - QEntity* e = n->asEntity(); + QEntity* e = qobject_cast<QEntity *>(n); if (e) { visitEntity(e); m_path.pop_back(); |