aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-05-19 12:26:46 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-05-20 09:30:38 +0200
commit5eb9535b708b2d62b5c13defe5aaad9ee005185f (patch)
treec4af980a59b8b715a6632e4167a5c0b7b264bd64
parent9372242a1dd8e4dca641971ce23b889552b4022c (diff)
shiboken6: Generate converters for all smart pointee base classes
Introduce helper functions to recursively collect all base classes. Amends 24cd62c9d18850707574ba7eb637ff24bee353a1. Fixes: PYSIDE-1933 Task-number: SIDE-1397 Change-Id: I7c205d226d77c113f5a1e90a2e93e96fe4c54e5e Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> (cherry picked from commit ee47ccbd9a7310da01b421c51c956739df0acdf4)
-rw-r--r--sources/shiboken2/generator/shiboken2/cppgenerator.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
index fa225035a..7629cb660 100644
--- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
@@ -1763,7 +1763,7 @@ void CppGenerator::writeSmartPointerConverterFunctions(QTextStream &s, const Abs
// TODO: Missing conversion to smart pointer pointer type:
s << "// Register smartpointer conversion for all derived classes\n";
- const auto classes = getBaseClasses(targetClass);
+ const auto classes = getAllAncestors(targetClass);
for (auto k : classes) {
if (smartPointerTypeEntry->matchesInstantiation(k->typeEntry())) {
if (auto smartTargetType = findSmartPointerInstantiation(k->typeEntry())) {
@@ -4009,7 +4009,7 @@ void CppGenerator::writeSmartPointerConverterInitialization(QTextStream &s, cons
if (!klass)
return;
- const auto classes = getBaseClasses(klass);
+ const auto classes = getAllAncestors(klass);
if (classes.isEmpty())
return;