aboutsummaryrefslogtreecommitdiffstats
path: root/headergenerator.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-11-25 16:52:48 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2009-11-25 17:04:01 -0300
commitecc97184c0025d701ce7789e61ee55b84c29b942 (patch)
tree5ed9dea78fd8d024cb11798c83462c1edb5d5039 /headergenerator.cpp
parentb973238682789a8f6dc68ec824df8c8e14be0ce9 (diff)
parent32ec53b32affed4707712f33cd6a370ecc62ad7f (diff)
Merged with multipleinheritance branch
Diffstat (limited to 'headergenerator.cpp')
-rw-r--r--headergenerator.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/headergenerator.cpp b/headergenerator.cpp
index 9074726fd..a776e0c73 100644
--- a/headergenerator.cpp
+++ b/headergenerator.cpp
@@ -132,10 +132,15 @@ void HeaderGenerator::writeTypeCheckMacro(QTextStream& s, const TypeEntry* type)
{
QString pyTypeName = cpythonTypeName(type);
QString checkFunction = cpythonCheckFunction(type);
- s << "PyAPI_DATA(PyTypeObject) " << pyTypeName << ';' << endl;
- s << "#define " << checkFunction << "(op) PyObject_TypeCheck(op, &";
+ s << "PyAPI_DATA(";
+ if (type->isObject() || type->isValue())
+ s << "Shiboken::ShiboTypeObject";
+ else
+ s << "PyTypeObject";
+ s << ") " << pyTypeName << ';' << endl;
+ s << "#define " << checkFunction << "(op) PyObject_TypeCheck(op, (PyTypeObject*)&";
s << pyTypeName << ')' << endl;
- s << "#define " << checkFunction << "Exact(op) ((op)->ob_type == &";
+ s << "#define " << checkFunction << "Exact(op) ((op)->ob_type == (PyTypeObject*)&";
s << pyTypeName << ')' << endl;
}