aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-rule.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-08-08 17:39:56 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-08-08 17:39:56 +0800
commitbbfda4227e6790fa945368cb5d4cb3d24e4da3d7 (patch)
tree6a451fa92a651f0750f0001e49d8b38a28c90e96 /filter/filter-rule.c
parente835aa2faf3bf45c930924aaa60a134cdd269c35 (diff)
downloadgsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar.gz
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar.bz2
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar.lz
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar.xz
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.tar.zst
gsoc2013-evolution-bbfda4227e6790fa945368cb5d4cb3d24e4da3d7.zip
Properly free the list of parts, and the private data.
2001-08-07 Not Zed <NotZed@Ximian.com> * filter-rule.c (filter_rule_finalise): Properly free the list of parts, and the private data. (FilterRulePrivate): Remove unused 'parts' member. * filter-option.c (free_option): For freeing options. (filter_option_finalise): Free options list. * filter-element.c (filter_element_finalise): free name. * filter-input.c (filter_input_finalise): Free type and values list. * filter-context.c (filter_context_finalise): Free the actions. * rule-context.c (rule_context_finalise): Remove the totally weird arsed *_set_list free code. (free_part_set): (free_rule_set): Use this to free stuff using g_list_foreach. (rule_context_finalise): Free the error string. (rule_context_finalise): Free the rules and parts. svn path=/trunk/; revision=11774
Diffstat (limited to 'filter/filter-rule.c')
-rw-r--r--filter/filter-rule.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/filter/filter-rule.c b/filter/filter-rule.c
index 038db489c5..9bcbc1c459 100644
--- a/filter/filter-rule.c
+++ b/filter/filter-rule.c
@@ -51,7 +51,6 @@ static void filter_rule_finalise (GtkObject * obj);
#define _PRIVATE(x) (((FilterRule *)(x))->priv)
struct _FilterRulePrivate {
- GtkWidget *parts; /* where the parts are stored */
};
static GtkObjectClass *parent_class;
@@ -113,22 +112,16 @@ filter_rule_init (FilterRule * o)
}
static void
-unref_list (GList * l)
-{
- while (l) {
- gtk_object_unref (GTK_OBJECT (l->data));
- l = g_list_next (l);
- }
-}
-
-static void
filter_rule_finalise (GtkObject * obj)
{
FilterRule *o = (FilterRule *) obj;
g_free (o->name);
g_free (o->source);
- unref_list (o->parts);
+ g_list_foreach(o->parts, (GFunc)gtk_object_unref, NULL);
+ g_list_free(o->parts);
+
+ g_free(o->priv);
((GtkObjectClass *) (parent_class))->finalize(obj);
}