Fix Session Log for exception on closed db reference click
This commit is contained in:
parent
45e0b9d571
commit
f9da7ec19a
@ -638,6 +638,8 @@ class GuiGramplet:
|
|||||||
for (tag, link_type, handle, tooltip) in self._tags:
|
for (tag, link_type, handle, tooltip) in self._tags:
|
||||||
if iter.has_tag(tag):
|
if iter.has_tag(tag):
|
||||||
if link_type == 'Person':
|
if link_type == 'Person':
|
||||||
|
if not self.dbstate.db.has_person_handle(handle):
|
||||||
|
return True
|
||||||
person = self.dbstate.db.get_person_from_handle(handle)
|
person = self.dbstate.db.get_person_from_handle(handle)
|
||||||
if person is not None:
|
if person is not None:
|
||||||
if event.button == 1: # left mouse
|
if event.button == 1: # left mouse
|
||||||
@ -699,6 +701,8 @@ class GuiGramplet:
|
|||||||
display_help(handle)
|
display_help(handle)
|
||||||
return True
|
return True
|
||||||
elif link_type == 'Family':
|
elif link_type == 'Family':
|
||||||
|
if not self.dbstate.db.has_family_handle(handle):
|
||||||
|
return True
|
||||||
family = self.dbstate.db.get_family_from_handle(handle)
|
family = self.dbstate.db.get_family_from_handle(handle)
|
||||||
if family is not None:
|
if family is not None:
|
||||||
if event.button == 1: # left mouse
|
if event.button == 1: # left mouse
|
||||||
|
@ -69,11 +69,17 @@ class LogGramplet(Gramplet):
|
|||||||
lambda handles: self.log('Family', 'Deleted', handles))
|
lambda handles: self.log('Family', 'Deleted', handles))
|
||||||
self.connect(self.dbstate.db, 'family-update',
|
self.connect(self.dbstate.db, 'family-update',
|
||||||
lambda handles: self.log('Family', 'Edited', handles))
|
lambda handles: self.log('Family', 'Edited', handles))
|
||||||
|
self.connect_signal('Person', self.active_changed)
|
||||||
|
self.connect_signal('Family', self.active_changed_family)
|
||||||
|
|
||||||
def active_changed(self, handle):
|
def active_changed(self, handle):
|
||||||
if handle:
|
if handle:
|
||||||
self.log('Person', 'Selected', [handle])
|
self.log('Person', 'Selected', [handle])
|
||||||
|
|
||||||
|
def active_changed_family(self, handle):
|
||||||
|
if handle:
|
||||||
|
self.log('Family', 'Selected', [handle])
|
||||||
|
|
||||||
def log(self, ltype, action, handles):
|
def log(self, ltype, action, handles):
|
||||||
for handle in set(handles):
|
for handle in set(handles):
|
||||||
if self.last_log == (ltype, action, handle):
|
if self.last_log == (ltype, action, handle):
|
||||||
@ -90,6 +96,8 @@ class LogGramplet(Gramplet):
|
|||||||
for i in transaction.get_recnos(reverse=True):
|
for i in transaction.get_recnos(reverse=True):
|
||||||
(obj_type, trans_type, hndl, old_data, dummy) = \
|
(obj_type, trans_type, hndl, old_data, dummy) = \
|
||||||
transaction.get_record(i)
|
transaction.get_record(i)
|
||||||
|
if isinstance(hndl, bytes):
|
||||||
|
hndl = str(hndl, "utf-8")
|
||||||
if (obj_type == PERSON_KEY and trans_type == TXNDEL
|
if (obj_type == PERSON_KEY and trans_type == TXNDEL
|
||||||
and hndl == handle):
|
and hndl == handle):
|
||||||
person = Person()
|
person = Person()
|
||||||
@ -102,6 +110,8 @@ class LogGramplet(Gramplet):
|
|||||||
for i in transaction.get_recnos(reverse=True):
|
for i in transaction.get_recnos(reverse=True):
|
||||||
(obj_type, trans_type, hndl, old_data, dummy) = \
|
(obj_type, trans_type, hndl, old_data, dummy) = \
|
||||||
transaction.get_record(i)
|
transaction.get_record(i)
|
||||||
|
if isinstance(hndl, bytes):
|
||||||
|
hndl = str(hndl, "utf-8")
|
||||||
if (obj_type == FAMILY_KEY and trans_type == TXNDEL
|
if (obj_type == FAMILY_KEY and trans_type == TXNDEL
|
||||||
and hndl == handle):
|
and hndl == handle):
|
||||||
family = Family()
|
family = Family()
|
||||||
|
Loading…
Reference in New Issue
Block a user