diff options
author | Martin Smith <martin.smith@nokia.com> | 2012-07-26 14:16:58 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-30 10:43:50 +0200 |
commit | d294ac8d68ccc0e7b0880ef75dbe76846a7f200d (patch) | |
tree | 51077ee836f29bd83c5128c38a7883381c47d57b /src | |
parent | ff1ea44b67d0755291d82f98b67080097e47bf60 (diff) |
qdoc: Added safety checks to findUnambiguousTarget()
This is a blind attempt to fix QTBUG-26615. I can't
reproduce the crash on OSX.
Task nr: QTBUG-26615
Change-Id: Ifc6b68b7f302b9cd7d02129be8ae56841a35e5de
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/qdoc/tree.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/qdoc/tree.cpp b/src/tools/qdoc/tree.cpp index 3123055047..4d0e126651 100644 --- a/src/tools/qdoc/tree.cpp +++ b/src/tools/qdoc/tree.cpp @@ -497,6 +497,9 @@ Tree::findUnambiguousTarget(const QString& target, Atom *&atom, const Node* rela int numBestTargets = 0; QList<Target> bestTargetList; + if (priv == 0) + return 0; + for (int pass = 0; pass < NumSuffixes; ++pass) { TargetHash::const_iterator i = priv->targetHash.constFind(Doc::canonicalTitle(target + suffixes[pass])); if (i != priv->targetHash.constEnd()) { @@ -523,7 +526,7 @@ Tree::findUnambiguousTarget(const QString& target, Atom *&atom, const Node* rela if (relative && !relative->qmlModuleIdentifier().isEmpty()) { for (int i=0; i<bestTargetList.size(); ++i) { const Node* n = bestTargetList.at(i).node; - if (relative->qmlModuleIdentifier() == n->qmlModuleIdentifier()) { + if (n && relative->qmlModuleIdentifier() == n->qmlModuleIdentifier()) { atom = bestTargetList.at(i).atom; return n; } |