aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-14 19:12:29 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-14 22:37:22 +0800
commit45da1ad2170f19eecb8abe6e55ae1be851ddfb18 (patch)
treeb55b2406fb3ca909c2b53ede072b0e2348dadec9
parent09e6bf30a2b213e30fcf7c33c316f69dd5fd64f4 (diff)
downloadgsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar.gz
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar.bz2
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar.lz
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar.xz
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.tar.zst
gsoc2013-empathy-45da1ad2170f19eecb8abe6e55ae1be851ddfb18.zip
free GDate leaks when inserting them into the model
The model copies the date so we should free it afterward. https://bugzilla.gnome.org/show_bug.cgi?id=663873
-rw-r--r--libempathy-gtk/empathy-log-window.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c
index 10ea8af5e..4addfda23 100644
--- a/libempathy-gtk/empathy-log-window.c
+++ b/libempathy-gtk/empathy-log-window.c
@@ -1803,18 +1803,27 @@ populate_dates_from_search_hits (GList *accounts,
if (gtk_tree_model_get_iter_first (model, &iter))
{
+ GDate *date;
+
+ date = g_date_new_dmy (1, 1, -1),
+
gtk_list_store_prepend (store, &iter);
gtk_list_store_set (store, &iter,
- COL_WHEN_DATE, g_date_new_dmy (1, 1, -1),
+ COL_WHEN_DATE, date,
COL_WHEN_TEXT, "separator",
-1);
+ g_date_free (date);
+
+ date = g_date_new_dmy (2, 1, -1),
gtk_list_store_prepend (store, &iter);
gtk_list_store_set (store, &iter,
- COL_WHEN_DATE, g_date_new_dmy (2, 1, -1),
+ COL_WHEN_DATE, date,
COL_WHEN_TEXT, _("Anytime"),
-1);
+ g_date_free (date);
+
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, 2))
gtk_tree_selection_select_iter (selection, &iter);
}
@@ -3418,17 +3427,27 @@ log_manager_got_dates_cb (GObject *manager,
if (g_strcmp0 (separator, "separator") != 0)
{
+ GDate *date;
+
+ date = g_date_new_dmy (1, 1, -1);
+
gtk_list_store_prepend (store, &iter);
gtk_list_store_set (store, &iter,
- COL_WHEN_DATE, g_date_new_dmy (1, 1, -1),
+ COL_WHEN_DATE, date,
COL_WHEN_TEXT, "separator",
-1);
+ g_date_free (date);
+
+ date = g_date_new_dmy (2, 1, -1);
+
gtk_list_store_prepend (store, &iter);
gtk_list_store_set (store, &iter,
- COL_WHEN_DATE, g_date_new_dmy (2, 1, -1),
+ COL_WHEN_DATE, date,
COL_WHEN_TEXT, _("Anytime"),
-1);
+
+ g_date_free (date);
}
}