From dfcc7e0efbf8c305fd745ae89e74888977f83410 Mon Sep 17 00:00:00 2001 From: Martin Hawlisch Date: Fri, 15 Jul 2005 17:02:40 +0000 Subject: [PATCH] * src/GenericFilter.py: Only load rules that provide the required number of arguments. svn: r4941 --- gramps2/ChangeLog | 2 ++ gramps2/src/GenericFilter.py | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 562755245..0bce89a7a 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -3,6 +3,8 @@ Show all names of a person; Show all images of person/source and place * src/Utils.py (find_mime_type_pixbuf): Dont segfault with note only object * src/SelectObject.py (on_select_row): Dont segfault with note only object + * src/GenericFilter.py: Only load rules that provide the required + number of arguments. 2005-07-14 Don Allingham * src/plugins/NavWebPage.py: gallery/media object enhancements, div/span fixes diff --git a/gramps2/src/GenericFilter.py b/gramps2/src/GenericFilter.py index 2f2182ac8..7af69409d 100644 --- a/gramps2/src/GenericFilter.py +++ b/gramps2/src/GenericFilter.py @@ -2268,8 +2268,12 @@ class FilterParser(handler.ContentHandler): def endElement(self,tag): if tag == "rule" and self.r != None: - rule = self.r(self.a) - self.f.add_rule(rule) + if len(self.r.labels) != len(self.a): + print "ERROR: Invalid number of arguments in filter '%s'!" %\ + self.f.get_name() + else: + rule = self.r(self.a) + self.f.add_rule(rule) def characters(self, data): pass