aboutsummaryrefslogtreecommitdiffstats
path: root/headergenerator.cpp
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-09-01 14:40:15 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-09-01 16:38:59 -0300
commit7d38f877d69fe44dbe7c36fb15cd477acccb4500 (patch)
tree6a5972b53afc68327047785937a3ed53cf67b79d /headergenerator.cpp
parent2a5ad3e48e5a148bc87bd6dbb74c695dd352a79a (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.cpp18
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;