diff options
Diffstat (limited to 'sources/shiboken6/generator/shiboken')
-rw-r--r-- | sources/shiboken6/generator/shiboken/cppgenerator.cpp | 9 | ||||
-rw-r--r-- | sources/shiboken6/generator/shiboken/shibokengenerator.cpp | 3 |
2 files changed, 4 insertions, 8 deletions
diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp index ac866dd28..51c6d051d 100644 --- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp +++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp @@ -538,13 +538,8 @@ void CppGenerator::generateClass(TextStream &s, const GeneratorContext &classCon QSet<QString> seenSignatures; bool staticEncountered = false; for (const auto &func : it.value()) { - if (!func->isAssignmentOperator() - && !func->usesRValueReferences() - && !func->isConversionOperator() - && !func->isModifiedRemoved() - && (!func->isPrivate() || func->functionType() == AbstractMetaFunction::EmptyFunction) - && func->ownerClass() == func->implementingClass() - && (func->name() != QLatin1String("qt_metacall"))) { + if (func->ownerClass() == func->implementingClass() + && func->generateBinding()) { // PYSIDE-331: Inheritance works correctly when there are disjoint functions. // But when a function is both in a class and inherited in a subclass, // then we need to search through all subclasses and collect the new signatures. diff --git a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp index 743681ffa..d52f4fb50 100644 --- a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp +++ b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp @@ -2309,7 +2309,8 @@ AbstractMetaFunctionCList for (; basis; basis = basis->baseClass()) { const auto inFunctions = basis->findFunctions(func->name()); for (const auto &inFunc : inFunctions) { - if (!seen->contains(inFunc->minimalSignature())) { + if (inFunc->generateBinding() + && !seen->contains(inFunc->minimalSignature())) { seen->insert(inFunc->minimalSignature()); AbstractMetaFunction *newFunc = inFunc->copy(); newFunc->setImplementingClass(func->implementingClass()); |