[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