summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@theqtcompany.com>2016-08-01 14:34:58 +0200
committerTopi Reiniƶ <topi.reinio@theqtcompany.com>2016-08-11 08:28:57 +0000
commit72901b9295394034ac52cd6174e6b50fa19a317d (patch)
tree78b4fbf82519af2e4268839b3b3f2ae56a476c5a
parentcb72077e562a5a53e52f7ac94b0c3c26320c6242 (diff)
downloadqttools-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.h7
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;