Details
-
Suggestion
-
Resolution: Done
-
P2: Important
-
4.6.2
-
None
-
Maemo 6
Description
The example code in http://doc.trolltech.com/4.6/qdbusdeclaringslots.html#delayed-replies has an error.
According to my tests, one shouldn't send reply to D-Bus when setDelayedReply(true).
QString processRequest(const QString &request, const QDBusMessage &message) { RequestData *data = new RequestData; data->request = request; message.setDelayedReply(true); data->reply = message.createReply(); QDBusConnection::sessionBus().send(data->reply); // THIS LINE SHOULDN'T BE HERE appendRequest(data); return QString(); }
If you send reply in there, the reply goes to the caller and you can't reply later as intended.