[telepathy-qt4/master] ClientRegistrar: Make PendingClientOperation setFinished methods check if operation already finished.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue May 19 06:49:16 PDT 2009


---
 TelepathyQt4/pending-client-operation.cpp |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/TelepathyQt4/pending-client-operation.cpp b/TelepathyQt4/pending-client-operation.cpp
index d436bf1..c060e0f 100644
--- a/TelepathyQt4/pending-client-operation.cpp
+++ b/TelepathyQt4/pending-client-operation.cpp
@@ -52,20 +52,26 @@ PendingClientOperation::~PendingClientOperation()
 
 void PendingClientOperation::setFinished()
 {
-    mPriv->bus.send(mPriv->message.createReply());
+    if (!isFinished()) {
+        mPriv->bus.send(mPriv->message.createReply());
+    }
     PendingOperation::setFinished();
 }
 
 void PendingClientOperation::setFinishedWithError(const QString &name,
         const QString &message)
 {
-    mPriv->bus.send(mPriv->message.createErrorReply(name, message));
+    if (!isFinished()) {
+        mPriv->bus.send(mPriv->message.createErrorReply(name, message));
+    }
     PendingOperation::setFinishedWithError(name, message);
 }
 
 void PendingClientOperation::setFinishedWithError(const QDBusError &error)
 {
-    mPriv->bus.send(mPriv->message.createErrorReply(error));
+    if (!isFinished()) {
+        mPriv->bus.send(mPriv->message.createErrorReply(error));
+    }
     PendingOperation::setFinishedWithError(error);
 }
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list