From b1b2cc2ebed2fcf6e31c1fbbdd3638216e34717b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 19 Jul 2021 21:38:31 +0200 Subject: 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 --- sources/shiboken6/generator/shiboken/shibokengenerator.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'sources/shiboken6/generator/shiboken/shibokengenerator.cpp') 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); + } } } } -- cgit v1.2.3