[telepathy-mission-control/master] McdDispatcher: if plugins reject channels, Destroy them

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Jun 26 08:45:25 PDT 2009


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

diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 655fdfb..d4574eb 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -1348,6 +1348,15 @@ mcd_dispatcher_run_clients (McdDispatcherContext *context)
     mcd_dispatcher_context_unref (context, "CTXREF07");
 }
 
+/*
+ * _mcd_dispatcher_context_abort:
+ *
+ * Abort processing of all the channels in the @context, as if they could not
+ * be dispatched.
+ *
+ * This should only be invoked because filter plugins want to terminate a
+ * channel.
+ */
 static void
 _mcd_dispatcher_context_abort (McdDispatcherContext *context,
                                const GError *error)
@@ -1369,9 +1378,7 @@ _mcd_dispatcher_context_abort (McdDispatcherContext *context,
         if (mcd_channel_get_error (channel) == NULL)
             mcd_channel_take_error (channel, g_error_copy (error));
 
-        /* FIXME: try to dispatch the channels to another handler, instead
-         * of just aborting them */
-        mcd_mission_abort (MCD_MISSION (channel));
+        _mcd_channel_undispatchable (channel);
 
         g_object_unref (channel);
         list = g_list_delete_link (list, list);
-- 
1.5.6.5




More information about the telepathy-commits mailing list