]> Pileus Git - ~andy/gtk/commitdiff
Free the filters. Fixes #133547, patch by Morten Welinder
authorFederico Mena Quintero <federico@ximian.com>
Tue, 10 Feb 2004 19:48:38 +0000 (19:48 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Tue, 10 Feb 2004 19:48:38 +0000 (19:48 +0000)
2004-02-10  Federico Mena Quintero  <federico@ximian.com>

* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
Free the filters.  Fixes #133547, patch by Morten Welinder
<mortenw@gnome.org>.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkfilechooserdefault.c

index eb909cdff9b6d90c0b03834878703dea2ac842af..9b8a1184e5bb8bcc1350df2fce3d0985f3c0bcdc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-10  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
+       Free the filters.  Fixes #133547, patch by Morten Welinder
+       <mortenw@gnome.org>.
+
 Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/xsettings-client.c (read_settings): Avoid
index eb909cdff9b6d90c0b03834878703dea2ac842af..9b8a1184e5bb8bcc1350df2fce3d0985f3c0bcdc 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-10  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
+       Free the filters.  Fixes #133547, patch by Morten Welinder
+       <mortenw@gnome.org>.
+
 Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/xsettings-client.c (read_settings): Avoid
index eb909cdff9b6d90c0b03834878703dea2ac842af..9b8a1184e5bb8bcc1350df2fce3d0985f3c0bcdc 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-10  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
+       Free the filters.  Fixes #133547, patch by Morten Welinder
+       <mortenw@gnome.org>.
+
 Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/xsettings-client.c (read_settings): Avoid
index eb909cdff9b6d90c0b03834878703dea2ac842af..9b8a1184e5bb8bcc1350df2fce3d0985f3c0bcdc 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-10  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
+       Free the filters.  Fixes #133547, patch by Morten Welinder
+       <mortenw@gnome.org>.
+
 Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/xsettings-client.c (read_settings): Avoid
index eb909cdff9b6d90c0b03834878703dea2ac842af..9b8a1184e5bb8bcc1350df2fce3d0985f3c0bcdc 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-10  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
+       Free the filters.  Fixes #133547, patch by Morten Welinder
+       <mortenw@gnome.org>.
+
 Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/xsettings-client.c (read_settings): Avoid
index f00a5a2847b74f1dad28d147701935378c8ddbd3..0768ed764c5952915c02b7478d00dde6165312d1 100644 (file)
@@ -369,6 +369,7 @@ static void
 gtk_file_chooser_default_finalize (GObject *object)
 {
   GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object);
+  GSList *l;
 
   g_signal_handler_disconnect (impl->file_system, impl->volumes_changed_id);
   impl->volumes_changed_id = 0;
@@ -376,7 +377,17 @@ gtk_file_chooser_default_finalize (GObject *object)
   impl->bookmarks_changed_id = 0;
   g_object_unref (impl->file_system);
 
-  /* FIXME: Free impl->filters -- what's the memory management there? */
+  for (l = impl->filters; l; l = l->next)
+    {
+      GtkFileFilter *filter;
+
+      filter = GTK_FILE_FILTER (l->data);
+      g_object_unref (filter);
+    }
+  g_slist_free (impl->filters);
+
+  if (impl->current_filter)
+    g_object_unref (impl->current_filter);
 
   if (impl->current_volume_path)
     gtk_file_path_free (impl->current_volume_path);