empathy r730 - trunk/libempathy
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r730 - trunk/libempathy
- Date: Tue, 11 Mar 2008 08:19:53 +0000 (GMT)
Author: xclaesse
Date: Tue Mar 11 08:19:53 2008
New Revision: 730
URL: http://svn.gnome.org/viewvc/empathy?rev=730&view=rev
Log:
Fix: do not close the call channel if stream-engine is not yet started (Alban Crequy)
Modified:
trunk/libempathy/empathy-tp-call.c
Modified: trunk/libempathy/empathy-tp-call.c
==============================================================================
--- trunk/libempathy/empathy-tp-call.c (original)
+++ trunk/libempathy/empathy-tp-call.c Tue Mar 11 08:19:53 2008
@@ -83,6 +83,7 @@
};
static guint signals[LAST_SIGNAL];
+static gchar *stream_engine_owner = NULL;
G_DEFINE_TYPE (EmpathyTpCall, empathy_tp_call, G_TYPE_OBJECT)
@@ -523,11 +524,20 @@
const gchar *new_owner,
gpointer call)
{
- if (G_STR_EMPTY (new_owner))
+ /* 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",
+ new_owner ? new_owner : "none");
+ if (! G_STR_EMPTY(stream_engine_owner) &&
+ 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);
}
static void
@@ -654,6 +664,8 @@
g_object_unref (priv->dbus_daemon);
}
+ g_free(stream_engine_owner);
+
(G_OBJECT_CLASS (empathy_tp_call_parent_class)->finalize) (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]