Suppress traceback when creating a new buddy object on buddy-disappeared signal
This commit is contained in:
parent
a0ad81b58b
commit
1698c297c7
@ -169,6 +169,9 @@ class PresenceService(gobject.GObject):
|
|||||||
self._objcache[object_path] = obj
|
self._objcache[object_path] = obj
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
def _have_object(self, object_path):
|
||||||
|
return object_path in self._objcache.keys()
|
||||||
|
|
||||||
def _del_object(self, object_path):
|
def _del_object(self, object_path):
|
||||||
"""Fully remove an object from the object cache when it's no longer needed.
|
"""Fully remove an object from the object cache when it's no longer needed.
|
||||||
"""
|
"""
|
||||||
@ -185,7 +188,10 @@ class PresenceService(gobject.GObject):
|
|||||||
|
|
||||||
def _emit_buddy_disappeared_signal(self, object_path):
|
def _emit_buddy_disappeared_signal(self, object_path):
|
||||||
"""Emit GObject event with presence.buddy.Buddy object"""
|
"""Emit GObject event with presence.buddy.Buddy object"""
|
||||||
self.emit('buddy-disappeared', self._new_object(object_path))
|
# Don't try to create a new object here if needed; it will probably
|
||||||
|
# fail anyway because the object has already been destroyed in the PS
|
||||||
|
if self._have_object(object_path):
|
||||||
|
self.emit('buddy-disappeared', self._new_object(object_path))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _buddy_disappeared_cb(self, object_path):
|
def _buddy_disappeared_cb(self, object_path):
|
||||||
|
Loading…
Reference in New Issue
Block a user