aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-14 19:19:54 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-14 22:38:03 +0800
commitb116f867f9247465fd59ace6ba73991f281b38dd (patch)
tree9d2483bb1fe4acf88c2df22adcdb4d0bfedc009d
parent3af870ef59c375699799df71e320764c488b3094 (diff)
downloadgsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar.gz
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar.bz2
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar.lz
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar.xz
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.tar.zst
gsoc2013-empathy-b116f867f9247465fd59ace6ba73991f281b38dd.zip
fix GDate leaks when getting dates from the model
https://bugzilla.gnome.org/show_bug.cgi?id=663873
-rw-r--r--libempathy-gtk/empathy-log-window.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c
index aa1acc9cc..5ca1d414c 100644
--- a/libempathy-gtk/empathy-log-window.c
+++ b/libempathy-gtk/empathy-log-window.c
@@ -1634,9 +1634,11 @@ model_has_date (GtkTreeModel *model,
if (!g_date_compare (date, d))
{
has_element = TRUE;
+ g_date_free (d);
return TRUE;
}
+ g_date_free (d);
return FALSE;
}
@@ -2805,6 +2807,7 @@ sort_by_date (GtkTreeModel *model,
gpointer user_data)
{
GDate *date1, *date2;
+ gint result;
gtk_tree_model_get (model, a,
COL_WHEN_DATE, &date1,
@@ -2814,7 +2817,11 @@ sort_by_date (GtkTreeModel *model,
COL_WHEN_DATE, &date2,
-1);
- return g_date_compare (date1, date2);
+ result = g_date_compare (date1, date2);
+
+ g_date_free (date1);
+ g_date_free (date2);
+ return result;
}
static gboolean
@@ -3357,6 +3364,8 @@ log_window_get_messages_for_dates (EmpathyLogWindow *self,
event_mask, subtype, self->priv->count);
_tpl_action_chain_append (self->priv->chain, get_events_for_date, ctx);
}
+
+ g_date_free (d);
}
}
}