diff --git a/gramps/gen/filters/rules/person/_ismorethannthgenerationdescendantof.py b/gramps/gen/filters/rules/person/_ismorethannthgenerationdescendantof.py index 6a27551af6b..ab85fa13329 100644 --- a/gramps/gen/filters/rules/person/_ismorethannthgenerationdescendantof.py +++ b/gramps/gen/filters/rules/person/_ismorethannthgenerationdescendantof.py @@ -33,7 +33,7 @@ # # ------------------------------------------------------------------------- from .. import Rule - +from ....lib.json_utils import DataDict # ------------------------------------------------------------------------- # @@ -77,7 +77,7 @@ def reset(self): def apply_to_one(self, db: Database, person: Person) -> bool: return person.handle in self.selected_handles - def init_list(self, person: Person, gen: int) -> None: + def init_list(self, person: DataDict | None, gen: int) -> None: if not person: return if gen >= int(self.list[1]): @@ -87,6 +87,4 @@ def init_list(self, person: Person, gen: int) -> None: fam = self.db.get_family_from_handle(fam_id) if fam: for child_ref in fam.child_ref_list: - self.init_list( - self.db.get_person_from_handle(child_ref.ref), gen + 1 - ) + self.init_list(self.db.get_raw_person_data(child_ref.ref), gen + 1)