[empathy] Don't set empty values for the default EmpathyHandler



commit 182f1d1d62275355fa248fcdb9ea9b9a09a60e08
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Tue Sep 1 15:48:59 2009 +0200

    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(+), 0 deletions(-)
---
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index 7aec414..fca24da 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 6499030..9a59788 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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]