From 675d1c25dbedaccbb135dc8ccd784e6706aa4aaa Mon Sep 17 00:00:00 2001 From: NotZed Date: Fri, 25 Feb 2000 03:04:30 +0000 Subject: Functions for memory management. 2000-02-24 NotZed * filter-xml.c (filter_description_free): (filter_load_ruleset_free): (filter_load_optionset_free): Functions for memory management. * filter-arg.c (filter_arg_copy): Copy the values of one arg into another. * filter-druid.c: (option_name_changed): Update the option's description as the user enters it in. svn path=/trunk/; revision=1929 --- filter/filter-arg.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'filter/filter-arg.c') diff --git a/filter/filter-arg.c b/filter/filter-arg.c index 1d8affaadc..8adfb5576e 100644 --- a/filter/filter-arg.c +++ b/filter/filter-arg.c @@ -164,6 +164,24 @@ filter_arg_clone (FilterArg *arg) return ((FilterArgClass *)(arg->object.klass))->clone(arg); } +void +filter_arg_copy(FilterArg *dst, FilterArg *src) +{ + xmlNodePtr values; + + g_return_if_fail( ((GtkObject *)src)->klass->type == ((GtkObject *)dst)->klass->type ); + + /* remove old values */ + while (dst->values) { + filter_arg_remove(dst, dst->values->data); + } + + /* clone values */ + values = filter_arg_values_get_xml(src); + filter_arg_values_add_xml(dst, values); + xmlFreeNodeList(values); +} + void filter_arg_add(FilterArg *arg, void *v) { @@ -181,6 +199,7 @@ filter_arg_remove(FilterArg *arg, void *v) gtk_signal_emit(GTK_OBJECT(arg), signals[CHANGED]); } + void filter_arg_write_html(FilterArg *arg, GtkHTML *html, GtkHTMLStreamHandle *stream) { -- cgit v1.2.3