diff options
Diffstat (limited to 'src/dbus/qdbusmisc.cpp')
-rw-r--r-- | src/dbus/qdbusmisc.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp index c653e71097..29d13ca40b 100644 --- a/src/dbus/qdbusmisc.cpp +++ b/src/dbus/qdbusmisc.cpp @@ -135,20 +135,20 @@ bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name) // metaTypes.count() >= retval + 1 in all cases // // sig must be the normalised signature for the method -int qDBusParametersForMethod(const QMetaMethod &mm, QList<int> &metaTypes, QString &errorMsg) +int qDBusParametersForMethod(const QMetaMethod &mm, QList<QMetaType> &metaTypes, QString &errorMsg) { return qDBusParametersForMethod(mm.parameterTypes(), metaTypes, errorMsg); } #endif // QT_BOOTSTRAPPED -int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<int> &metaTypes, +int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<QMetaType> &metaTypes, QString &errorMsg) { QDBusMetaTypeId::init(); metaTypes.clear(); - metaTypes.append(0); // return type + metaTypes.append(QMetaType()); // return type int inputCount = 0; bool seenMessage = false; QList<QByteArray>::ConstIterator it = parameterTypes.constBegin(); @@ -164,14 +164,14 @@ int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<int> QByteArray basictype = type; basictype.truncate(type.length() - 1); - int id = QMetaType::fromName(basictype).id(); - if (id == 0) { + QMetaType id = QMetaType::fromName(basictype); + if (!id.isValid()) { errorMsg = QLatin1String("Unregistered output type in parameter list: ") + QLatin1String(type); return -1; } else if (QDBusMetaType::typeToSignature(id) == nullptr) return -1; - metaTypes.append( id ); + metaTypes.append(id); seenMessage = true; // it cannot appear anymore anyways continue; } @@ -184,7 +184,7 @@ int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<int> if (type.startsWith("QVector<")) type = "QList<" + type.mid(sizeof("QVector<") - 1); - int id = QMetaType::fromName(type).id(); + QMetaType id = QMetaType::fromName(type); #ifdef QT_BOOTSTRAPPED // in bootstrap mode QDBusMessage isn't included, thus we need to resolve it manually here if (type == "QDBusMessage") { @@ -192,7 +192,7 @@ int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<int> } #endif - if (id == QMetaType::UnknownType) { + if (!id.isValid()) { errorMsg = QLatin1String("Unregistered input type in parameter list: ") + QLatin1String(type); return -1; } |