diff options
author | Topi Reinio <topi.reinio@theqtcompany.com> | 2016-08-01 14:34:58 +0200 |
---|---|---|
committer | Topi Reiniƶ <topi.reinio@theqtcompany.com> | 2016-08-11 08:28:57 +0000 |
commit | 72901b9295394034ac52cd6174e6b50fa19a317d (patch) | |
tree | 78b4fbf82519af2e4268839b3b3f2ae56a476c5a | |
parent | cb72077e562a5a53e52f7ac94b0c3c26320c6242 (diff) | |
download | qttools-72901b9295394034ac52cd6174e6b50fa19a317d.tar.gz |
qdoc: Only link to C++ types when resolving C++ function arguments
QDoc ignored the type (genus) of the node when resolving links to
function arguments or return types.
This commit ensures that C++ function signatures contain no links
to QML types, and vice versa.
Task-number: QTBUG-54875
Change-Id: If8369e3e86f6854044b394b82cfdd8379cfbcf8e
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
-rw-r--r-- | src/qdoc/qdocdatabase.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/qdoc/qdocdatabase.h b/src/qdoc/qdocdatabase.h index 8b1184853..afb78a95f 100644 --- a/src/qdoc/qdocdatabase.h +++ b/src/qdoc/qdocdatabase.h @@ -145,9 +145,12 @@ class QDocForest const Node* findTypeNode(const QStringList& path, const Node* relative) { + int flags = SearchBaseClasses | SearchEnumValues | NonFunction; + Node::Genus genus = Node::DontCare; + if (relative) + genus = relative->genus(); foreach (Tree* t, searchOrder()) { - int flags = SearchBaseClasses | SearchEnumValues | NonFunction; - const Node* n = t->findNode(path, relative, flags, Node::DontCare); + const Node* n = t->findNode(path, relative, flags, genus); if (n) return n; relative = 0; |