diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2010-07-01 21:26:04 +0800 |
---|---|---|
committer | Travis Reitter <treitter@gmail.com> | 2010-07-21 07:12:36 +0800 |
commit | 2999dda22d4d80df40420334273fcbb7aadac091 (patch) | |
tree | 549463c23113f3228b6e789ebfba4920d3427a1b | |
parent | 336c38712dde2938b1ead01f05e1cd01f96c888d (diff) | |
download | gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar.gz gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar.bz2 gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar.lz gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar.xz gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.tar.zst gsoc2013-empathy-2999dda22d4d80df40420334273fcbb7aadac091.zip |
Fix some referencing bugs with the IndividualStore and IndividualView
-rw-r--r-- | libempathy-gtk/empathy-individual-store.c | 7 | ||||
-rw-r--r-- | 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 a75ec3a8a..0f607c59d 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 5c8e96b80..e75f3629e 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 |