diff options
author | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2009-01-10 00:13:55 +0800 |
---|---|---|
committer | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2009-01-10 00:13:55 +0800 |
commit | 61333e4c888c0502e8988e6597ab34714eb94c4d (patch) | |
tree | 8a0c1bddaa2d9fcc0d76986ae30c1efd76a19ca4 /libempathy | |
parent | 3125dc9f33b7e933ff0bd889ba71423ea84c2210 (diff) | |
download | gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar.gz gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar.bz2 gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar.lz gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar.xz gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.tar.zst gsoc2013-empathy-61333e4c888c0502e8988e6597ab34714eb94c4d.zip |
Add a function to explicitly close EmpathyTpCall
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
git-svn-id: svn+ssh://svn.gnome.org/svn/empathy/trunk@2160 4ee84921-47dd-4033-b63a-18d7a039a3e4
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-tp-call.c | 19 | ||||
-rw-r--r-- | libempathy/empathy-tp-call.h | 1 |
2 files changed, 16 insertions, 4 deletions
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c index 7703aeffb..45aa22be1 100644 --- a/libempathy/empathy-tp-call.c +++ b/libempathy/empathy-tp-call.c @@ -503,10 +503,7 @@ tp_call_finalize (GObject *object) if (priv->channel != NULL) { - g_signal_handlers_disconnect_by_func (priv->channel, - tp_call_channel_invalidated_cb, object); - tp_call_close_channel (EMPATHY_TP_CALL (object)); - g_object_unref (priv->channel); + empathy_tp_call_close (EMPATHY_TP_CALL (object)); } if (priv->stream_engine != NULL) @@ -666,6 +663,20 @@ empathy_tp_call_accept_incoming_call (EmpathyTpCall *call) } void +empathy_tp_call_close (EmpathyTpCall *call) +{ + EmpathyTpCallPriv *priv = GET_PRIV (call); + + g_signal_handlers_disconnect_by_func (priv->channel, + tp_call_channel_invalidated_cb, call); + + tp_call_close_channel (call); + + g_object_unref (priv->channel); + priv->channel = NULL; +} + +void empathy_tp_call_request_video_stream_direction (EmpathyTpCall *call, gboolean is_sending) { diff --git a/libempathy/empathy-tp-call.h b/libempathy/empathy-tp-call.h index 5da79fa13..29a79c64e 100644 --- a/libempathy/empathy-tp-call.h +++ b/libempathy/empathy-tp-call.h @@ -71,6 +71,7 @@ typedef struct GType empathy_tp_call_get_type (void) G_GNUC_CONST; EmpathyTpCall *empathy_tp_call_new (TpChannel *channel); +void empathy_tp_call_close (EmpathyTpCall *call); void empathy_tp_call_accept_incoming_call (EmpathyTpCall *call); void empathy_tp_call_request_video_stream_direction (EmpathyTpCall *call, |