diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-09-01 14:40:15 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-09-01 16:38:59 -0300 |
commit | 7d38f877d69fe44dbe7c36fb15cd477acccb4500 (patch) | |
tree | 6a5972b53afc68327047785937a3ed53cf67b79d /headergenerator.cpp | |
parent | 2a5ad3e48e5a148bc87bd6dbb74c695dd352a79a (diff) |
Fix bug#316 - "QAbstractItemModel.createIndex is broken"
Use SbkNumber_Check instead of PyNumber_Check, because PyNumber_Check returns true
for all user types.
This commit also disable the generation of _Check macros and replaces all entries
with Converter<T>::checkType.
Those changes are on the same commit because SbkNumber_Check conflicts with a macro
generated by "other" binding which binds a type named "Number".
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'headergenerator.cpp')
-rw-r--r-- | headergenerator.cpp | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/headergenerator.cpp b/headergenerator.cpp index 0d7524cbd..59028081d 100644 --- a/headergenerator.cpp +++ b/headergenerator.cpp @@ -199,14 +199,6 @@ void HeaderGenerator::writeFunction(QTextStream& s, const AbstractMetaFunction* } } -void HeaderGenerator::writeTypeCheckMacro(QTextStream& s, const TypeEntry* type) -{ - QString pyTypeName = cppApiVariableName() + '[' + getTypeIndexVariableName(type) + ']'; - QString checkFunction = cpythonCheckFunction(type); - s << "#define " << checkFunction << "(op) PyObject_TypeCheck(op, (PyTypeObject*)"; - s << pyTypeName << ')' << endl; -} - void HeaderGenerator::writeTypeConverterDecl(QTextStream& s, const TypeEntry* type) { s << "template<>" << endl; @@ -328,10 +320,6 @@ void HeaderGenerator::finishGeneration() macrosStream << "// Macros for type check" << endl; foreach (const AbstractMetaEnum* cppEnum, globalEnums()) { includes << cppEnum->typeEntry()->include(); - writeTypeCheckMacro(macrosStream, cppEnum->typeEntry()); - FlagsTypeEntry* flags = cppEnum->typeEntry()->flags(); - if (flags) - writeTypeCheckMacro(macrosStream, flags); writeTypeConverterDecl(convDecl, cppEnum->typeEntry()); convDecl << endl; writeSbkTypeFunction(typeFunctions, cppEnum); @@ -348,13 +336,10 @@ void HeaderGenerator::finishGeneration() foreach (const AbstractMetaEnum* cppEnum, metaClass->enums()) { EnumTypeEntry* enumType = cppEnum->typeEntry(); includes << enumType->include(); - writeTypeCheckMacro(macrosStream, enumType); writeTypeConverterDecl(convDecl, enumType); FlagsTypeEntry* flagsEntry = enumType->flags(); - if (flagsEntry) { - writeTypeCheckMacro(macrosStream, flagsEntry); + if (flagsEntry) writeTypeConverterDecl(convDecl, flagsEntry); - } convDecl << endl; writeSbkTypeFunction(typeFunctions, cppEnum); } @@ -362,7 +347,6 @@ void HeaderGenerator::finishGeneration() if (!metaClass->isNamespace()) { writeSbkTypeFunction(typeFunctions, metaClass); writeSbkCopyCppObjectFunction(convDecl, metaClass); - writeTypeCheckMacro(macrosStream, classType); writeTypeConverterDecl(convDecl, classType); writeTypeConverterImpl(convImpl, classType); convDecl << endl; |