aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2012-01-13 10:15:46 +0800
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2012-01-13 10:15:46 +0800
commitf17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c (patch)
tree853db8953050709923c4053641f09840f0545e60
parentab7a79c4f87cee1ae9811da921c2a03abacec7b5 (diff)
downloadgsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar.gz
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar.bz2
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar.lz
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar.xz
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.tar.zst
gsoc2013-empathy-f17363e49737c2ad6bf304d7ed1dd2ccf8ca2b4c.zip
call-handler: also accept outgoing calls immediately
Outgoing calls are in PENDING_INITIATOR until you accept them, So Empathy would never actually start dialing an outgoing call until you redialled and it got picked up by the other codepath, which accepts immediately.
-rw-r--r--src/empathy-call-handler.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/empathy-call-handler.c b/src/empathy-call-handler.c
index 703ed3299..3389c8374 100644
--- a/src/empathy-call-handler.c
+++ b/src/empathy-call-handler.c
@@ -911,11 +911,22 @@ empathy_call_handler_start_call (EmpathyCallHandler *handler,
{
empathy_call_handler_start_tpfs (handler);
- if (tp_call_channel_get_state (priv->call, NULL, NULL, NULL) ==
- TP_CALL_STATE_INITIALISED)
- tp_call_channel_accept_async (priv->call, on_call_accepted_cb, NULL);
+ if (tp_channel_get_requested (TP_CHANNEL (priv->call)))
+ {
+ /* accept outgoing channels immediately */
+ tp_call_channel_accept_async (priv->call,
+ on_call_accepted_cb, NULL);
+ }
else
- priv->accept_when_initialised = TRUE;
+ {
+ /* accepting incoming channels when they are INITIALISED */
+ if (tp_call_channel_get_state (priv->call, NULL, NULL, NULL) ==
+ TP_CALL_STATE_INITIALISED)
+ tp_call_channel_accept_async (priv->call,
+ on_call_accepted_cb, NULL);
+ else
+ priv->accept_when_initialised = TRUE;
+ }
return;
}