From 182f1d1d62275355fa248fcdb9ea9b9a09a60e08 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 1 Sep 2009 15:48:59 +0200 Subject: [PATCH] Don't set empty values for the default EmpathyHandler This implies the following: - have an empty default handler when the Dispatcher is used directly with the singleton - autogenerate the name for the default handler - set priv->filters in the handler to an empty GPtrArray in this case, as that can't be NULL. --- libempathy/empathy-dispatcher.c | 3 +++ libempathy/empathy-handler.c | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index 7aec4143..fca24dae 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -890,6 +890,9 @@ dispatcher_constructor (GType type, priv = GET_PRIV (dispatcher); + if (priv->handler == NULL) + priv->handler = empathy_handler_new (NULL, NULL, NULL); + empathy_handler_set_handle_channels_func (priv->handler, empathy_dispatcher_handle_channels, dispatcher); diff --git a/libempathy/empathy-handler.c b/libempathy/empathy-handler.c index 64990305..9a597889 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); -- 2.39.2