diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-19 12:26:46 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-20 09:30:38 +0200 |
commit | 5eb9535b708b2d62b5c13defe5aaad9ee005185f (patch) | |
tree | c4af980a59b8b715a6632e4167a5c0b7b264bd64 | |
parent | 9372242a1dd8e4dca641971ce23b889552b4022c (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.cpp | 4 |
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; |