aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-handler.c')
-rw-r--r--libempathy/empathy-handler.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy/empathy-handler.c b/libempathy/empathy-handler.c
index 649903058..9a597889e 100644
--- a/libempathy/empathy-handler.c
+++ b/libempathy/empathy-handler.c
@@ -141,12 +141,23 @@ handler_set_property (GObject *object,
{
case PROP_CHANNEL_FILTER:
priv->filters = g_value_dup_boxed (value);
+ if (priv->filters == NULL)
+ priv->filters = g_ptr_array_new ();
break;
case PROP_CAPABILITIES:
priv->capabilities = g_value_dup_boxed (value);
break;
case PROP_NAME:
priv->name = g_value_dup_string (value);
+ if (EMP_STR_EMPTY (priv->name))
+ {
+ TpDBusDaemon *bus;
+
+ bus = tp_dbus_daemon_dup (NULL);
+ priv->name = g_strdup_printf ("%s%p",
+ tp_dbus_daemon_get_unique_name (bus), object);
+ g_object_unref (bus);
+ }
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);