[empathy] Fix some referencing bugs with the IndividualStore and IndividualView



commit 2999dda22d4d80df40420334273fcbb7aadac091
Author: Philip Withnall <philip withnall collabora co uk>
Date:   Thu Jul 1 14:26:04 2010 +0100

    Fix some referencing bugs with the IndividualStore and IndividualView

 libempathy-gtk/empathy-individual-store.c |    7 ++-----
 libempathy-gtk/empathy-individual-view.c  |   19 +++++++++++--------
 2 files changed, 13 insertions(+), 13 deletions(-)
---
diff --git a/libempathy-gtk/empathy-individual-store.c b/libempathy-gtk/empathy-individual-store.c
index a75ec3a..0f607c5 100644
--- a/libempathy-gtk/empathy-individual-store.c
+++ b/libempathy-gtk/empathy-individual-store.c
@@ -925,8 +925,6 @@ individual_store_dispose (GObject *object)
     {
       g_signal_handlers_disconnect_by_func (l->data,
           G_CALLBACK (individual_store_contact_updated_cb), object);
-
-      g_object_unref (l->data);
     }
   g_list_free (contacts);
 
@@ -1455,8 +1453,6 @@ empathy_individual_store_set_show_offline (EmpathyIndividualStore *self,
   for (l = contacts; l; l = l->next)
     {
       individual_store_contact_update (self, l->data);
-
-      g_object_unref (l->data);
     }
   g_list_free (contacts);
 
@@ -1512,6 +1508,8 @@ individual_store_update_list_mode_foreach (GtkTreeModel *model,
       EMPATHY_INDIVIDUAL_STORE_COL_PIXBUF_AVATAR_VISIBLE, show_avatar,
       EMPATHY_INDIVIDUAL_STORE_COL_COMPACT, priv->is_compact, -1);
 
+  g_object_unref (individual);
+
   return FALSE;
 }
 
@@ -1616,7 +1614,6 @@ empathy_individual_store_set_show_groups (EmpathyIndividualStore *self,
       individual_store_members_changed_cb (priv->manager,
           "re-adding members: toggled group visibility",
           contacts, NULL, 0, self);
-      g_list_foreach (contacts, (GFunc) g_free, NULL);
       g_list_free (contacts);
     }
 
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index 5c8e96b..e75f362 100644
--- a/libempathy-gtk/empathy-individual-view.c
+++ b/libempathy-gtk/empathy-individual-view.c
@@ -295,12 +295,12 @@ individual_view_query_tooltip_cb (EmpathyIndividualView *view,
     {
       goto OUT;
     }
-  else
-    {
-      contact = empathy_contact_from_folks_individual (individual);
-      if (contact == NULL)
-        goto OUT;
-    }
+
+  contact = empathy_contact_from_folks_individual (individual);
+  g_object_unref (individual);
+
+  if (contact == NULL)
+    goto OUT;
 
   if (!priv->tooltip_widget)
     {
@@ -322,7 +322,6 @@ individual_view_query_tooltip_cb (EmpathyIndividualView *view,
   ret = TRUE;
 
   g_object_unref (contact);
-  g_object_unref (individual);
 OUT:
   running--;
 
@@ -648,7 +647,6 @@ individual_view_drag_motion (GtkWidget *widget,
           gdk_drag_status (context, GDK_ACTION_COPY, time_);
           gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (widget),
               path, GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
-          g_object_unref (individual);
         }
       else
         {
@@ -656,6 +654,9 @@ individual_view_drag_motion (GtkWidget *widget,
           gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (widget), NULL, 0);
           retval = FALSE;
         }
+
+      if (individual != NULL)
+        g_object_unref (individual);
     }
 
   if (!is_different && !cleanup)
@@ -768,6 +769,8 @@ individual_view_drag_data_get (GtkWidget *widget,
           (guchar *) individual_id, strlen (individual_id) + 1);
       break;
     }
+
+  g_object_unref (individual);
 }
 
 static void



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