summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/functionutils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/functionutils.cpp')
-rw-r--r--src/plugins/cpptools/functionutils.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/cpptools/functionutils.cpp b/src/plugins/cpptools/functionutils.cpp
index fd7ae1d89c..0d9b236003 100644
--- a/src/plugins/cpptools/functionutils.cpp
+++ b/src/plugins/cpptools/functionutils.cpp
@@ -144,11 +144,13 @@ QList<Symbol *> FunctionUtils::overrides(Function *function, Class *functionsCla
for (int i = 0, total = c->memberCount(); i < total; ++i) {
Symbol *candidate = c->memberAt(i);
const Name *candidateName = candidate->name();
- const FullySpecifiedType candidateType = candidate->type();
- if (!candidateName || !candidateType.isValid())
+ const Function *candidateFunc = candidate->type()->asFunctionType();
+ if (!candidateName || !candidateFunc)
continue;
- if (candidateName->isEqualTo(referenceName) && candidateType.isEqualTo(referenceType))
+ if (candidateName->isEqualTo(referenceName)
+ && candidateFunc->isSignatureEqualTo(function)) {
result << candidate;
+ }
}
}