aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/generator/shiboken2/shibokengenerator.cpp')
-rw-r--r--sources/shiboken2/generator/shiboken2/shibokengenerator.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
index bb8f95617..c3bb4cbc8 100644
--- a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
@@ -2240,7 +2240,13 @@ AbstractMetaClassList ShibokenGenerator::getBaseClasses(const AbstractMetaClass*
{
AbstractMetaClassList baseClasses;
if (metaClass) {
- const QStringList &baseClassNames = metaClass->baseClassNames();
+ QStringList baseClassNames(metaClass->baseClassNames());
+ const QString defaultSuperclass = metaClass->typeEntry()->defaultSuperclass();
+ if (!defaultSuperclass.isEmpty()) {
+ int index = baseClassNames.indexOf(defaultSuperclass);
+ if (index >= 0)
+ baseClassNames.move(index, 0);
+ }
for (const QString &parent : baseClassNames) {
AbstractMetaClass *clazz = AbstractMetaClass::findClass(classes(), parent);
if (clazz)