diff options
Diffstat (limited to 'filter/filter-editor.c')
-rw-r--r-- | filter/filter-editor.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/filter/filter-editor.c b/filter/filter-editor.c index d65398872b..af064b32eb 100644 --- a/filter/filter-editor.c +++ b/filter/filter-editor.c @@ -341,14 +341,15 @@ filter_editor_set_rules(FilterEditor *e, GList *rules, GList *systemoptions, GLi void filter_editor_set_rule_files(FilterEditor *e, const char *systemrules, const char *userrules) { - GList *rules, *options, *options2; + GList *rules, *options = NULL, *options2; xmlDocPtr doc, out, optionset, filteroptions; doc = xmlParseFile(systemrules); rules = filter_load_ruleset(doc); options2 = filter_load_optionset(doc, rules); out = xmlParseFile(userrules); - options = filter_load_optionset(out, rules); + if (out) + options = filter_load_optionset(out, rules); filter_editor_set_rules(e, rules, options2, options); } @@ -358,3 +359,25 @@ filter_editor_save_rules(FilterEditor *e, const char *userrules) { return filter_write_optionset_file(userrules, e->useroptions); } + +#ifdef STANDALONE + +int main(int argc, char **argv) +{ + FilterEditor *fe; + + gnome_init("Test", "0.0", argc, argv); + gdk_rgb_init (); + gtk_widget_set_default_colormap (gdk_rgb_get_cmap ()); + gtk_widget_set_default_visual (gdk_rgb_get_visual ()); + + fe = filter_editor_new(); + filter_editor_set_rule_files(fe, "/home/notzed/gnome/evolution/filter/filterdescription.xml", "/home/notzed/filters.xml"); + gtk_widget_show(fe); + + gtk_main(); + + return 0; +} + +#endif |