summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystemmodel.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@novell.com>2009-09-04 13:42:46 -0500
committerBenjamin Otte <otte@gnome.org>2009-10-15 22:06:17 +0200
commit112d2430bee7dcecc274b2d61bfc63e5b851b773 (patch)
treec5814fc7c7c1cb9de33c01b046329d5e9f10b64b /gtk/gtkfilesystemmodel.c
parent5ea265ca61d53e2c8daf13dc4b9a1dac4f4a69fc (diff)
downloadgtk+-112d2430bee7dcecc274b2d61bfc63e5b851b773.tar.gz
Free some missing fields in ::finalize()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Diffstat (limited to 'gtk/gtkfilesystemmodel.c')
-rw-r--r--gtk/gtkfilesystemmodel.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 0e8345fa38..97027d2c29 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -978,11 +978,17 @@ gtk_file_system_model_finalize (GObject *object)
for (i = 0; i < model->files->len; i++)
{
+ int v;
+
FileModelNode *node = get_node (model, i);
if (node->file)
g_object_unref (node->file);
if (node->info)
g_object_unref (node->info);
+
+ for (v = 0; v < model->column_types; v++)
+ if (G_VALUE_TYPE (node->values[v]) != G_TYPE_INVALID)
+ g_value_unset (&node->values[v]);
}
g_array_free (model->files, TRUE);
@@ -996,6 +1002,8 @@ gtk_file_system_model_finalize (GObject *object)
if (model->filter)
g_object_unref (model->filter);
+ g_slice_free1 (sizeof (GType) * n_columns, model->column_types);
+
_gtk_tree_data_list_header_free (model->sort_list);
if (model->default_sort_destroy)
model->default_sort_destroy (model->default_sort_data);