aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/generator/shiboken/shibokengenerator.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-07-19 21:38:31 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-07-21 10:01:45 +0200
commitb1b2cc2ebed2fcf6e31c1fbbdd3638216e34717b (patch)
tree02df3a6225998ed332b5f75bef0352c87e19696d /sources/shiboken6/generator/shiboken/shibokengenerator.cpp
parent947a7f5f5d55b6f72b449578d905e9a4b5feb6ea (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.cpp14
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);
+ }
}
}
}