aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2009-01-10 00:13:55 +0800
committerxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2009-01-10 00:13:55 +0800
commit61333e4c888c0502e8988e6597ab34714eb94c4d (patch)
tree8a0c1bddaa2d9fcc0d76986ae30c1efd76a19ca4 /libempathy
parent3125dc9f33b7e933ff0bd889ba71423ea84c2210 (diff)
downloadgsoc2013-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.c19
-rw-r--r--libempathy/empathy-tp-call.h1
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,