summaryrefslogtreecommitdiff
path: root/Tools/bgen/bgen/bgenObjectDefinition.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/bgen/bgen/bgenObjectDefinition.py')
-rw-r--r--Tools/bgen/bgen/bgenObjectDefinition.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Tools/bgen/bgen/bgenObjectDefinition.py b/Tools/bgen/bgen/bgenObjectDefinition.py
index d84dffed8b..10a4468a06 100644
--- a/Tools/bgen/bgen/bgenObjectDefinition.py
+++ b/Tools/bgen/bgen/bgenObjectDefinition.py
@@ -57,18 +57,22 @@ class ObjectDefinition(GeneratorGroup):
OutHeader2("End object type " + self.name)
def outputNew(self):
- Output("static %s *%s_New(itself)", self.objecttype, self.prefix)
+ Output("static PyObject *%s_New(itself)", self.prefix)
IndentLevel()
Output("const %s %sitself;", self.itselftype, self.argref)
DedentLevel()
OutLbrace()
Output("%s *it;", self.objecttype)
+ self.outputCheckNewArg()
Output("it = PyObject_NEW(%s, &%s);", self.objecttype, self.typename)
Output("if (it == NULL) return NULL;")
Output("it->ob_itself = %sitself;", self.argref)
- Output("return it;")
+ Output("return (PyObject *)it;")
OutRbrace()
Output()
+
+ def outputCheckNewArg(self):
+ pass
def outputConvert(self):
Output("""\