[telepathy-mission-control/master] McdDispatcher: move CTXREF09 inside mcd_dispatcher_run_handlers

Simon McVittie simon.mcvittie at collabora.co.uk
Thu May 28 06:18:55 PDT 2009


---
 src/mcd-dispatcher.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 8d9109d..258c09e 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -948,6 +948,9 @@ mcd_dispatcher_run_handlers (McdDispatcherContext *context)
     GList *channels, *list;
     gchar **iter;
 
+    /* released by mcd_dispatcher_context_handler_done */
+    mcd_dispatcher_context_ref (context, "CTXREF09");
+
     sp_timestamp ("run handlers");
     mcd_dispatcher_context_ref (context, "CTXREF04");
 
@@ -1038,7 +1041,6 @@ mcd_dispatcher_context_release_client_lock (McdDispatcherContext *context)
     if (context->client_locks == 0)
     {
         /* no observers left, let's go on with the dispatching */
-        mcd_dispatcher_context_ref (context, "CTXREF09");
         mcd_dispatcher_run_handlers (context);
         mcd_dispatcher_context_unref (context, "CTXREF13");
     }
@@ -3417,7 +3419,6 @@ _mcd_dispatcher_reinvoke_handler (McdDispatcher *dispatcher,
     /* We must ref() the channel, because
      * mcd_dispatcher_context_unref() will unref() it */
     g_object_ref (channel);
-    mcd_dispatcher_context_ref (context, "CTXREF09");
     mcd_dispatcher_run_handlers (context);
     /* the context will be unreferenced once it leaves the state machine */
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list