summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/qdocdatabase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdoc/qdocdatabase.cpp')
-rw-r--r--src/tools/qdoc/qdocdatabase.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp
index a1e06c80207..f1a92c2eb3c 100644
--- a/src/tools/qdoc/qdocdatabase.cpp
+++ b/src/tools/qdoc/qdocdatabase.cpp
@@ -190,17 +190,19 @@ DocNode* QDocDatabase::findQmlModule(const QString& name)
QStringList dotSplit;
QStringList blankSplit = name.split(QLatin1Char(' '));
QString qmid = blankSplit[0];
+ QString qmlModuleName = qmid;
if (blankSplit.size() > 1) {
dotSplit = blankSplit[1].split(QLatin1Char('.'));
qmid += dotSplit[0];
}
DocNode* dn = 0;
- if (qmlModules_.contains(qmid))
- return qmlModules_.value(qmid);
- dn = new DocNode(tree_->root(), name, Node::QmlModule, Node::OverviewPage);
+ if (qmlModules_.contains(qmlModuleName))
+ return qmlModules_.value(qmlModuleName);
+ dn = new DocNode(tree_->root(), qmlModuleName, Node::QmlModule, Node::OverviewPage);
dn->markNotSeen();
dn->setQmlModuleInfo(name);
- qmlModules_.insert(qmid,dn);
+ qmlModules_.insert(qmlModuleName,dn);
+ masterMap_.insert(qmlModuleName,dn);
masterMap_.insert(qmid,dn);
masterMap_.insert(dn->name(),dn);
return dn;
@@ -923,8 +925,10 @@ const DocNode* QDocDatabase::findDocNodeByTitle(const QString& title, const Node
if (j != docNodesByTitle_.constEnd() && j.key() == i.key()) {
QList<Location> internalLocations;
while (j != docNodesByTitle_.constEnd()) {
- if (j.key() == i.key() && j.value()->url().isEmpty())
+ if (j.key() == i.key() && j.value()->url().isEmpty()) {
internalLocations.append(j.value()->location());
+ break; // Just report one duplicate for now.
+ }
++j;
}
if (internalLocations.size() > 0) {