From 7d38f877d69fe44dbe7c36fb15cd477acccb4500 Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Wed, 1 Sep 2010 14:40:15 -0300 Subject: Fix bug#316 - "QAbstractItemModel.createIndex is broken" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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::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 Renato Araújo --- headergenerator.cpp | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'headergenerator.cpp') 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; -- cgit v1.2.3