diff options
| author | Thiago Macieira <thiago@kde.org> | 2006-06-12 09:18:45 +0000 | 
|---|---|---|
| committer | Thiago Macieira <thiago@kde.org> | 2006-06-12 09:18:45 +0000 | 
| commit | 1afe0339cfaf57af72b01ae3600ef22e437a4922 (patch) | |
| tree | 7ebcaf700bc8b9331c020f98e3e50301127c4c8f | |
| parent | ddb936d99b382ea1108be251a27668b3e3a6359a (diff) | |
	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
        that took a QDBusMessage parameter.
	* qt/src/qdbusbus.h: Add a default flag for RequestName.
	* qt/tools/dbus.cpp: Don't use automatic call because we might
        be calling an async method: request a reply.
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | qt/src/qdbusbus.h | 3 | ||||
| -rw-r--r-- | qt/src/qdbusintegrator.cpp | 2 | ||||
| -rw-r--r-- | qt/tools/dbus.cpp | 2 | 
4 files changed, 12 insertions, 3 deletions
@@ -1,5 +1,13 @@  2006-06-11  Thiago Macieira <thiago.macieira@trolltech.com> +	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods +        that took a QDBusMessage parameter. +	* qt/src/qdbusbus.h: Add a default flag for RequestName. +	* qt/tools/dbus.cpp: Don't use automatic call because we might +        be calling an async method: request a reply. + +2006-06-11  Thiago Macieira <thiago.macieira@trolltech.com> +  	* test/qt/*: Update the testcases, including testing the new          functionality of sending null QByteArray and QString over the          bus. Add new headertest test and restore the old diff --git a/qt/src/qdbusbus.h b/qt/src/qdbusbus.h index 1f695798..0240e65f 100644 --- a/qt/src/qdbusbus.h +++ b/qt/src/qdbusbus.h @@ -58,6 +58,7 @@ public:      // taken out of http://dbus.freedesktop.org/doc/dbus-specification.html      // update if the standard updates      enum RequestNameOption { +        QueueName = 0x0,          AllowReplacingName = 0x1,          ReplaceExistingName = 0x2,          DoNotQueueName = 0x4 @@ -127,7 +128,7 @@ public Q_SLOTS:      { return GetNameOwner(name); }      QDBusReply<ReleaseNameReply> releaseName(const QString &serviceName)      { return ReleaseName(serviceName); } -    QDBusReply<RequestNameReply> requestName(const QString &serviceName, RequestNameOptions flags) +    QDBusReply<RequestNameReply> requestName(const QString &serviceName, RequestNameOptions flags = QueueName)      { return RequestName(serviceName, flags); }      QDBusReply<QStringList> listQueuedOwners(const QString &serviceName)      { return ListQueuedOwners(serviceName); } diff --git a/qt/src/qdbusintegrator.cpp b/qt/src/qdbusintegrator.cpp index de012c19..509e110f 100644 --- a/qt/src/qdbusintegrator.cpp +++ b/qt/src/qdbusintegrator.cpp @@ -413,7 +413,7 @@ static int findSlot(const QMetaObject *mo, const QByteArray &name, int flags,              continue;           // we didn't match them all          // consistency check: -        if (isAsync && metaTypes.count() > i + 1) +        if (isAsync && metaTypes.count() > i + 1 + (hasMessage ? 1 : 0))              continue;          if (hasMessage && (mm.attributes() & attributeMask) != attributeMask) diff --git a/qt/tools/dbus.cpp b/qt/tools/dbus.cpp index b2556ef8..f628db95 100644 --- a/qt/tools/dbus.cpp +++ b/qt/tools/dbus.cpp @@ -237,7 +237,7 @@ void placeCall(const QString &service, const QString &path, const QString &inter          exit(1);      } -    QDBusMessage reply = iface->callWithArgs(member, params); +    QDBusMessage reply = iface->callWithArgs(member, params, QDBusInterface::NoUseEventLoop);      if (reply.type() == QDBusMessage::ErrorMessage) {          QDBusError err = reply;          printf("Error: %s\n%s\n", qPrintable(err.name()), qPrintable(err.message()));  | 
