diff options
-rw-r--r-- | cppgenerator.cpp | 4 | ||||
-rw-r--r-- | headergenerator.cpp | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/cppgenerator.cpp b/cppgenerator.cpp index 369ee409d..c899a4697 100644 --- a/cppgenerator.cpp +++ b/cppgenerator.cpp @@ -568,12 +568,12 @@ void CppGenerator::writeVirtualMethodNative(QTextStream &s, const AbstractMetaFu } s << INDENT << '}' << endl; - if (func->type() && (!usePySideExtensions() || (func->type()->name() != "QVariant"))) { + if (func->type()) { s << INDENT << "// Check return type" << endl; s << INDENT << "bool typeIsValid = "; QString desiredType; if (func->typeReplaced(0).isEmpty()) { - s << cpythonCheckFunction(func->type()); + s << cpythonIsConvertibleFunction(func->type()); // SbkType would return null when the type is a container. if (func->type()->typeEntry()->isContainer()) { desiredType = '"' + reinterpret_cast<const ContainerTypeEntry*>(func->type()->typeEntry())->typeName() + '"'; diff --git a/headergenerator.cpp b/headergenerator.cpp index 5e39ec95b..1c761639a 100644 --- a/headergenerator.cpp +++ b/headergenerator.cpp @@ -234,8 +234,10 @@ void HeaderGenerator::writeTypeConverterDecl(QTextStream& s, const TypeEntry* ty s << "struct Converter<" << typeT << " >"; if (!hasCustomConversion) { - if (type->isEnum() || type->isFlags()) + if (type->isEnum()) s << " : EnumConverter"; + else if (type->isFlags()) + s << " : QFlagsConverter"; else if (isAbstractOrObjectType) s << " : ObjectTypeConverter"; else |