aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-context.c
diff options
context:
space:
mode:
authorMichael Zucci <zucchi@src.gnome.org>2000-08-09 14:48:39 +0800
committerMichael Zucci <zucchi@src.gnome.org>2000-08-09 14:48:39 +0800
commit2f6003c9ed5291b6feb4694bbf5f88084adeded6 (patch)
tree7126cbeb9d60b6549cbe83bf86a4c107266b2496 /filter/filter-context.c
parent970050a51ce8ba8acbe23577b45c154cbdb0adf0 (diff)
downloadgsoc2013-evolution-2f6003c9ed5291b6feb4694bbf5f88084adeded6.tar.gz
gsoc2013-evolution-2f6003c9ed5291b6feb4694bbf5f88084adeded6.tar.zst
gsoc2013-evolution-2f6003c9ed5291b6feb4694bbf5f88084adeded6.zip
(rule_context_add_rule_gui): Keep track of context so it isn't freed under us.
svn path=/trunk/; revision=4645
Diffstat (limited to 'filter/filter-context.c')
-rw-r--r--filter/filter-context.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/filter/filter-context.c b/filter/filter-context.c
index 701010fde9..c31eba205a 100644
--- a/filter/filter-context.c
+++ b/filter/filter-context.c
@@ -126,12 +126,22 @@ void filter_context_add_action(FilterContext *f, FilterPart *action)
f->actions = g_list_append(f->actions, action);
}
-FilterPart *filter_context_find_action(FilterContext *f, char *name)
+FilterPart *filter_context_find_action(FilterContext *f, const char *name)
{
d(printf("find action : "));
return filter_part_find_list(f->actions, name);
}
+FilterPart *filter_context_create_action(FilterContext *f, const char *name)
+{
+ FilterPart *part;
+
+ part = filter_context_find_action(f, name);
+ if (part)
+ part = filter_part_clone(part);
+ return part;
+}
+
FilterPart *filter_context_next_action(FilterContext *f, FilterPart *last)
{
return filter_part_next_list(f->actions, last);