diff options
Diffstat (limited to 'src/plugins/cpptools/functionutils.cpp')
-rw-r--r-- | src/plugins/cpptools/functionutils.cpp | 8 |
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; + } } } |