summaryrefslogtreecommitdiffstats
path: root/src/core/nodes/nodevisitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nodes/nodevisitor.cpp')
-rw-r--r--src/core/nodes/nodevisitor.cpp12
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();