Geography : sometimes crash with unknown people or family.

svn: r21320
This commit is contained in:
Serge Noiraud 2013-02-08 07:57:47 +00:00
parent f568077d1e
commit 6353e06fa6
2 changed files with 19 additions and 8 deletions

View File

@ -210,12 +210,17 @@ class GeoClose(GeoGraphyView):
self._createmap(p1, color, self.place_list_active, False) self._createmap(p1, color, self.place_list_active, False)
if self.refperson: if self.refperson:
color = self._config.get('geography.color1') color = self._config.get('geography.color1')
self.message_layer.add_message(_("Reference : %(name)s ( %(birth)s - %(death)s )") % {'name': _nd.display(self.refperson), self.message_layer.add_message(_("Reference : %(name)s ( %(birth)s - %(death)s )") % {
'name': _nd.display(self.refperson),
'birth': self.birth(self.refperson), 'birth': self.birth(self.refperson),
'death': self.death(self.refperson)}) 'death': self.death(self.refperson)})
self.message_layer.add_message(_("The other : %(name)s ( %(birth)s - %(death)s )") % {'name': _nd.display(p1), if p1:
self.message_layer.add_message(_("The other : %(name)s ( %(birth)s - %(death)s )") % {
'name': _nd.display(p1),
'birth': self.birth(p1), 'birth': self.birth(p1),
'death': self.death(p1)}) 'death': self.death(p1)})
else:
self.message_layer.add_message(_("The other person is unknown"))
self._createmap(self.refperson, color, self.place_list_ref, True) self._createmap(self.refperson, color, self.place_list_ref, True)
else: else:
self.message_layer.add_message(_("You must choose one reference person.")) self.message_layer.add_message(_("You must choose one reference person."))
@ -295,6 +300,9 @@ class GeoClose(GeoGraphyView):
active = self.get_active() active = self.get_active()
person = self.dbstate.db.get_person_from_handle(active) person = self.dbstate.db.get_person_from_handle(active)
self.lifeway_layer.clear_ways() self.lifeway_layer.clear_ways()
if person is None:
self.goto_handle(None)
else:
self.goto_handle(handle=person) self.goto_handle(handle=person)
def draw(self, menu, marks, color, reference): def draw(self, menu, marks, color, reference):

View File

@ -241,7 +241,10 @@ class GeoFamClose(GeoGraphyView):
color = self._config.get('geography.color1') color = self._config.get('geography.color1')
self._createmap(self.reffamily, color, self.place_list_ref, True) self._createmap(self.reffamily, color, self.place_list_ref, True)
self.message_layer.add_message(_("Family reference : %s" % self.family_label(self.reffamily))) self.message_layer.add_message(_("Family reference : %s" % self.family_label(self.reffamily)))
if f1:
self.message_layer.add_message(_("The other family : %s" % self.family_label(f1))) self.message_layer.add_message(_("The other family : %s" % self.family_label(f1)))
else:
self.message_layer.add_message(_("The other family : %s" % _("Unknown")))
else: else:
self.message_layer.add_message(_("You must choose one reference family.")) self.message_layer.add_message(_("You must choose one reference family."))
self.message_layer.add_message(_("Go to the family view and select " self.message_layer.add_message(_("Go to the family view and select "