aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-05-10 14:46:27 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:15:22 -0300
commitbdd992a76956f86166256649f8bb3d42ce7439a2 (patch)
tree2dedf6802d8b24d5730df8f316ebd9de1c658f39 /generator
parentce1d707bef6426a1f18f92ab729dc4d89fbe63e4 (diff)
Don't set the tp_init when there are no public constructors available.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'generator')
-rw-r--r--generator/cppgenerator.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp
index 402efb514..07b2111ed 100644
--- a/generator/cppgenerator.cpp
+++ b/generator/cppgenerator.cpp
@@ -2528,7 +2528,11 @@ void CppGenerator::writeClassDefinition(QTextStream& s, const AbstractMetaClass*
QString cppClassName = metaClass->qualifiedCppName();
QString className = cpythonTypeName(metaClass).replace(QRegExp("_Type$"), "");
QString baseClassName('0');
- AbstractMetaFunctionList ctors = metaClass->queryFunctions(AbstractMetaClass::Constructors);
+ AbstractMetaFunctionList ctors;
+ foreach (AbstractMetaFunction* f, metaClass->queryFunctions(AbstractMetaClass::Constructors)) {
+ if (!f->isPrivate() && !f->isModifiedRemoved())
+ ctors.append(f);
+ }
if (!metaClass->baseClass())
baseClassName = "reinterpret_cast<PyTypeObject*>(&SbkObject_Type)";