summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/cppcodemarker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdoc/cppcodemarker.cpp')
-rw-r--r--src/tools/qdoc/cppcodemarker.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp
index c85c5c64efe..ff7d9254fc2 100644
--- a/src/tools/qdoc/cppcodemarker.cpp
+++ b/src/tools/qdoc/cppcodemarker.cpp
@@ -1287,17 +1287,15 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, Syno
}
++c;
}
- const DocNode* dn = current->qmlBaseNode();
- if (dn) {
- if (dn->subType() == Node::QmlClass)
- current = static_cast<const QmlClassNode*>(dn);
- else {
- dn->doc().location().warning(tr("Base class of QML class '%1' is ambgiguous").arg(current->name()));
- current = 0;
- }
+ current = current->qmlBaseNode();
+ while (current) {
+ if (current->isAbstract())
+ break;
+ if (current->isInternal())
+ current = current->qmlBaseNode();
+ else
+ break;
}
- else
- current = 0;
}
append(sections, all, true);
}