qdoc: Fix a few cases for '[ ... ]' linking

This update fixes a few cases that didn't work
correctly. The problem was caused by calling
findNodeForTarget() with a pointer to a relative
node, but the relative node pointer should always
be 0, when the domain tree to be searched is not
the same as the tree containing the relative node.
This fix sets the relative node pointer to 0 in
that case.

Change-Id: I2fe4a7a4a3b6392199666c7d49b473a56697e7b5
Task-number: QTBUG-39221
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
This commit is contained in:
Martin Smith 2014-08-08 13:42:32 +02:00
parent f752a7ab6c
commit 2a56a3bad7

View File

@ -1620,6 +1620,8 @@ const Node* QDocDatabase::findNodeForAtom(const Atom* atom, const Node* relative
target = targetPath.at(0); target = targetPath.at(0);
targetPath.removeFirst(); targetPath.removeFirst();
} }
if (relative && relative->tree()->moduleName() != domain->moduleName())
relative = 0;
node = domain->findNodeForTarget(nodePath, target, relative, flags, genus, ref); node = domain->findNodeForTarget(nodePath, target, relative, flags, genus, ref);
return node; return node;
} }