aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/empathy-streamed-media-handler.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/empathy-streamed-media-handler.c b/src/empathy-streamed-media-handler.c
index fe04a8faa..0fc55964a 100644
--- a/src/empathy-streamed-media-handler.c
+++ b/src/empathy-streamed-media-handler.c
@@ -699,9 +699,12 @@ empathy_streamed_media_handler_start_tpfs (GAsyncInitable *initable,
{
EmpathyStreamedMediaHandlerPriv *priv = GET_PRIV (self);
GError *error = NULL;
+ GPtrArray *conferences;
if (g_async_initable_init_finish (initable, res, &error))
{
+ priv->tfchannel = TF_CHANNEL (initable);
+
/* Set up the telepathy farsight channel */
g_signal_connect (priv->tfchannel, "fs-conference-added",
G_CALLBACK (empathy_streamed_media_handler_tf_channel_conference_added_cb), self);
@@ -713,6 +716,15 @@ empathy_streamed_media_handler_start_tpfs (GAsyncInitable *initable,
g_signal_connect (priv->tfchannel, "closed",
G_CALLBACK (empathy_streamed_media_handler_tf_channel_closed_cb), self);
+ g_object_get (priv->tfchannel, "fs-conferences", &conferences, NULL);
+ if (conferences)
+ {
+ if (conferences->len > 0)
+ empathy_streamed_media_handler_tf_channel_conference_added_cb (
+ priv->tfchannel, g_ptr_array_index (conferences, 0), self);
+ g_ptr_array_unref (conferences);
+ }
+
/* FIXME: In which condition do we call this ? */
empathy_tp_streamed_media_accept_incoming_call (priv->call);