]> git.0d.be Git - empathy.git/blobdiff - libempathy/empathy-dispatcher.c
empathy-dispatcher: deal properly with NULL channel_wrapper
[empathy.git] / libempathy / empathy-dispatcher.c
index 6b5c3fba5e40ce23677aa5d97a69504a4fe7d9d9..ab00503c813d804f4f7962ba9abccc050ab65773 100644 (file)
@@ -121,7 +121,8 @@ new_dispatch_data (TpChannel *channel,
 {
   DispatchData *d = g_slice_new0 (DispatchData);
   d->channel = g_object_ref (channel);
-  d->channel_wrapper = g_object_ref (channel_wrapper);
+  if (channel_wrapper != NULL)
+    d->channel_wrapper = g_object_ref (channel_wrapper);
 
   return d;
 }
@@ -130,7 +131,8 @@ static void
 free_dispatch_data (DispatchData *data)
 {
   g_object_unref (data->channel);
-  g_object_unref (data->channel_wrapper);
+  if (data->channel_wrapper != NULL)
+    g_object_unref (data->channel_wrapper);
 
   g_slice_free (DispatchData, data);
 }
@@ -698,8 +700,11 @@ dispatcher_connection_new_channels_cb (TpConnection *connection,
 }
 
 static void
-dispatcher_connection_got_all (TpProxy *proxy, GHashTable *properties,
-  const GError *error, gpointer user_data, GObject *object)
+dispatcher_connection_got_all (TpProxy *proxy,
+                               GHashTable *properties,
+                               const GError *error,
+                               gpointer user_data,
+                               GObject *object)
 {
   EmpathyDispatcher *dispatcher = EMPATHY_DISPATCHER (object);
   EmpathyDispatcherPriv *priv = GET_PRIV (dispatcher);
@@ -1342,8 +1347,10 @@ dispatcher_create_channel_cb (TpConnection *connect,
 
 void
 empathy_dispatcher_create_channel (EmpathyDispatcher *dispatcher,
-  McAccount *account, GHashTable *request,
-  EmpathyDispatcherRequestCb *callback, gpointer user_data)
+                                   McAccount *account,
+                                   GHashTable *request,
+                                   EmpathyDispatcherRequestCb *callback,
+                                   gpointer user_data)
 {
   EmpathyDispatcherPriv *priv = GET_PRIV (dispatcher);
   ConnectionData *connection_data;
@@ -1510,7 +1517,9 @@ empathy_dispatcher_send_file_to_contact (EmpathyContact *contact,
 
 GStrv
 empathy_dispatcher_find_channel_class (EmpathyDispatcher *dispatcher,
-  McAccount *account, const gchar *channel_type, guint handle_type)
+                                       McAccount *account,
+                                       const gchar *channel_type,
+                                       guint handle_type)
 {
   EmpathyDispatcherPriv *priv = GET_PRIV (dispatcher);
   ConnectionData *cd;