[telepathy-mission-control/master] McdDispatcher: delay ChannelLost and Finished until all approvers have returned

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Apr 20 07:14:06 PDT 2009


---
 src/mcd-dispatcher.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 6a05cb1..34fe49f 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -1391,6 +1391,11 @@ add_dispatch_operation_cb (TpProxy *proxy, const GError *error,
         if (context->approvers_invoked == 0)
             mcd_dispatcher_context_release_client_lock (context);
     }
+
+    if (context->operation)
+    {
+        _mcd_dispatch_operation_unblock_finished (context->operation);
+    }
 }
 
 static void
@@ -1440,6 +1445,8 @@ mcd_dispatcher_run_approvers (McdDispatcherContext *context)
             mcd_dispatch_operation_get_properties (context->operation);
 
         context->approvers_invoked++;
+        _mcd_dispatch_operation_block_finished (context->operation);
+
         mcd_dispatcher_context_ref (context);
         mc_cli_client_approver_call_add_dispatch_operation (client->proxy, -1,
             dispatch_operation, properties,
-- 
1.5.6.5




More information about the telepathy-commits mailing list