From c9789cf60c84531fcdeb88930a6ec1414c0b0aeb Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 11 Mar 2008 08:19:59 +0000 Subject: Do not use a global variable but a field in the call. Use a boolean since we don't need the owner name. svn path=/trunk/; revision=731 --- libempathy/empathy-tp-call.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'libempathy') diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c index 594eb6d45..afc6ff657 100644 --- a/libempathy/empathy-tp-call.c +++ b/libempathy/empathy-tp-call.c @@ -57,6 +57,7 @@ struct _EmpathyTpCallPriv EmpathyContact *contact; gboolean is_incoming; guint status; + gboolean stream_engine_started; EmpathyTpCallStream *audio; EmpathyTpCallStream *video; @@ -83,7 +84,6 @@ enum }; static guint signals[LAST_SIGNAL]; -static gchar *stream_engine_owner = NULL; G_DEFINE_TYPE (EmpathyTpCall, empathy_tp_call, G_TYPE_OBJECT) @@ -524,20 +524,21 @@ tp_call_watch_name_owner_cb (TpDBusDaemon *daemon, const gchar *new_owner, gpointer call) { + EmpathyTpCallPriv *priv = GET_PRIV (call); + /* G_STR_EMPTY(new_owner) means either stream-engine has not started yet or * has crashed. We want to close the channel if stream-engine has crashed. * */ - empathy_debug (DEBUG_DOMAIN, "Watch SE: name='%s' old_owner='%s' new_owner='%s'", - name, stream_engine_owner ? stream_engine_owner : "none", + empathy_debug (DEBUG_DOMAIN, + "Watch SE: name='%s' SE started='%s' new_owner='%s'", + name, priv->stream_engine_started ? "yes" : "no", new_owner ? new_owner : "none"); - if (! G_STR_EMPTY(stream_engine_owner) && - G_STR_EMPTY (new_owner)) + if (priv->stream_engine_started && G_STR_EMPTY (new_owner)) { empathy_debug (DEBUG_DOMAIN, "Stream engine falled off the bus"); empathy_tp_call_close_channel (call); } - g_free(stream_engine_owner); - stream_engine_owner = g_strdup(new_owner); + priv->stream_engine_started = ! G_STR_EMPTY (new_owner); } static void @@ -664,8 +665,6 @@ tp_call_finalize (GObject *object) g_object_unref (priv->dbus_daemon); } - g_free(stream_engine_owner); - (G_OBJECT_CLASS (empathy_tp_call_parent_class)->finalize) (object); } @@ -812,6 +811,7 @@ empathy_tp_call_init (EmpathyTpCall *call) priv->status = EMPATHY_TP_CALL_STATUS_READYING; priv->contact = NULL; + priv->stream_engine_started = FALSE; priv->audio = g_slice_new0 (EmpathyTpCallStream); priv->video = g_slice_new0 (EmpathyTpCallStream); priv->audio->exists = FALSE; -- cgit v1.2.3