diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-25 16:52:48 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-25 17:04:01 -0300 |
commit | ecc97184c0025d701ce7789e61ee55b84c29b942 (patch) | |
tree | 5ed9dea78fd8d024cb11798c83462c1edb5d5039 /headergenerator.cpp | |
parent | b973238682789a8f6dc68ec824df8c8e14be0ce9 (diff) | |
parent | 32ec53b32affed4707712f33cd6a370ecc62ad7f (diff) |
Merged with multipleinheritance branch
Diffstat (limited to 'headergenerator.cpp')
-rw-r--r-- | headergenerator.cpp | 11 |
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; } |