diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-07-19 21:38:31 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-07-21 10:01:45 +0200 |
commit | b1b2cc2ebed2fcf6e31c1fbbdd3638216e34717b (patch) | |
tree | 02df3a6225998ed332b5f75bef0352c87e19696d /sources/shiboken6/generator/shiboken/shibokengenerator.cpp | |
parent | 947a7f5f5d55b6f72b449578d905e9a4b5feb6ea (diff) |
shiboken6: Fix missing functions from base classes
Add all occurrences found by name in getInheritedOverloads().
This manifested in missing overloads of QWidget::addAction()
introduced by qtbase/08e4d2db084f6abbf1840ffb694b15bd215ad069.
Pick-to: 6.1
Change-Id: I6b3bf143d32addbbb6b8332bed5e86e1677b0e28
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/generator/shiboken/shibokengenerator.cpp')
-rw-r--r-- | sources/shiboken6/generator/shiboken/shibokengenerator.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp index f4c1bb4e1..0202dc619 100644 --- a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp +++ b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp @@ -2299,12 +2299,14 @@ AbstractMetaFunctionCList AbstractMetaClass *basis; if (func->ownerClass() && (basis = func->ownerClass()->baseClass())) { for (; basis; basis = basis->baseClass()) { - const auto inFunc = basis->findFunction(func->name()); - if (!inFunc.isNull() && !seen->contains(inFunc->minimalSignature())) { - seen->insert(inFunc->minimalSignature()); - AbstractMetaFunction *newFunc = inFunc->copy(); - newFunc->setImplementingClass(func->implementingClass()); - results << AbstractMetaFunctionCPtr(newFunc); + const auto inFunctions = basis->findFunctions(func->name()); + for (const auto &inFunc : inFunctions) { + if (!seen->contains(inFunc->minimalSignature())) { + seen->insert(inFunc->minimalSignature()); + AbstractMetaFunction *newFunc = inFunc->copy(); + newFunc->setImplementingClass(func->implementingClass()); + results << AbstractMetaFunctionCPtr(newFunc); + } } } } |