diff options
-rw-r--r-- | src/empathy-streamed-media-handler.c | 12 |
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); |