aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-01-17 13:23:26 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-01-19 15:07:49 +0000
commit7e94cd36121d4060d673c7307514e255851b7f1c (patch)
tree3f2ff7a37478b4893b8110b73eb5b627e3fb406c /sources/shiboken2/generator
parente347bb13921420a3d6ac62d620600f97ddcb8b3d (diff)
Shiboken: Handle private abstract methods
Remove the exclusion. Required for Qt3dExtras::QAbstractCameraController::moveCamera() in 5.10. Task-number: PYSIDE-487 Change-Id: I67ae24d4cda2d90ac30c97f77457c2eaf65099ab Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/shiboken2/generator')
-rw-r--r--sources/shiboken2/generator/shiboken2/cppgenerator.cpp5
-rw-r--r--sources/shiboken2/generator/shiboken2/headergenerator.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
index 392f5b66d..838770e89 100644
--- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
@@ -341,8 +341,9 @@ void CppGenerator::generateClass(QTextStream &s, GeneratorContext &classContext)
const AbstractMetaFunctionList &funcs = filterFunctions(metaClass);
for (const AbstractMetaFunction *func : funcs) {
- if ((func->isPrivate() && !visibilityModifiedToPrivate(func))
- || (func->isModifiedRemoved() && !func->isAbstract()))
+ const bool notAbstract = !func->isAbstract();
+ if ((func->isPrivate() && notAbstract && !visibilityModifiedToPrivate(func))
+ || (func->isModifiedRemoved() && notAbstract))
continue;
if (func->functionType() == AbstractMetaFunction::ConstructorFunction && !func->isUserAdded()) {
writeConstructorNative(s, func);
diff --git a/sources/shiboken2/generator/shiboken2/headergenerator.cpp b/sources/shiboken2/generator/shiboken2/headergenerator.cpp
index f6bd2cd7e..a033cb69a 100644
--- a/sources/shiboken2/generator/shiboken2/headergenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/headergenerator.cpp
@@ -242,8 +242,9 @@ void HeaderGenerator::writeFunction(QTextStream& s, const AbstractMetaFunction*
}
// pure virtual functions need a default implementation
- if ((func->isPrivate() && !visibilityModifiedToPrivate(func))
- || (func->isModifiedRemoved() && !func->isAbstract()))
+ const bool notAbstract = !func->isAbstract();
+ if ((func->isPrivate() && notAbstract && !visibilityModifiedToPrivate(func))
+ || (func->isModifiedRemoved() && notAbstract))
return;
if (avoidProtectedHack() && func->ownerClass()->hasPrivateDestructor()