aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cppgenerator.cpp5
-rw-r--r--headergenerator.cpp3
2 files changed, 5 insertions, 3 deletions
diff --git a/cppgenerator.cpp b/cppgenerator.cpp
index f3ca270da..9d409c161 100644
--- a/cppgenerator.cpp
+++ b/cppgenerator.cpp
@@ -204,7 +204,8 @@ void CppGenerator::generateClass(QTextStream &s, const AbstractMetaClass *metaCl
s << endl;
foreach (const AbstractMetaFunction* func, filterFunctions(metaClass)) {
- if (func->isPrivate() || (func->isModifiedRemoved() && !func->isAbstract()))
+ if ((func->isPrivate() && !visibilityModifiedToPrivate(func))
+ || (func->isModifiedRemoved() && !func->isAbstract()))
continue;
if (func->isConstructor() && !func->isCopyConstructor() && !func->isUserAdded())
writeConstructorNative(s, func);
@@ -666,7 +667,7 @@ void CppGenerator::writeVirtualMethodNative(QTextStream &s, const AbstractMetaFu
s << INDENT << "if (" << PYTHON_RETURN_VAR << "->ob_refcnt < 2) {" << endl;
{
Indentation indent(INDENT);
- s << INDENT << "PyErr_SetString(PyExc_ReferenceError, \"Returning last python reference on virutal function: "
+ s << INDENT << "PyErr_SetString(PyExc_ReferenceError, \"Returning last python reference on virutal function: "
<< func->ownerClass()->name() << "." << func->name() << "\");" << endl;
s << INDENT << "PyErr_Print();" << endl;
s << INDENT << "assert(false);" << endl;
diff --git a/headergenerator.cpp b/headergenerator.cpp
index d5fab6bd9..2176baf6c 100644
--- a/headergenerator.cpp
+++ b/headergenerator.cpp
@@ -175,7 +175,8 @@ void HeaderGenerator::writeFunction(QTextStream& s, const AbstractMetaFunction*
#endif
// pure virtual functions need a default implementation
- if (func->isPrivate() || (func->isModifiedRemoved() && !func->isAbstract()))
+ if ((func->isPrivate() && !visibilityModifiedToPrivate(func))
+ || (func->isModifiedRemoved() && !func->isAbstract()))
return;
#ifdef AVOID_PROTECTED_HACK