Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-04-17 17:27:34 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-04-17 17:27:34 (GMT)
commit26ed1d150475f82a68cfac45f3698cde0b6a082c (patch)
treea21e9f6171240400c0067235efd665b5d05e70d1 /services
parent92416d1519c67012e02af17a672edead91f68011 (diff)
Don't leak invalid properties
Diffstat (limited to 'services')
-rw-r--r--services/presence/buddy.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/services/presence/buddy.py b/services/presence/buddy.py
index 8b2eec4..fd01ce8 100644
--- a/services/presence/buddy.py
+++ b/services/presence/buddy.py
@@ -205,31 +205,35 @@ class Buddy(DBusGObject):
def set_properties(self, properties):
changed = False
+ changed_props = {}
if "nick" in properties.keys():
nick = properties["nick"]
if nick != self._nick:
self._nick = nick
+ changed_props["nick"] = nick
changed = True
if "color" in properties.keys():
color = properties["color"]
if color != self._color:
self._color = color
+ changed_props["color"] = color
changed = True
if "current-activity" in properties.keys():
curact = properties["current-activity"]
if curact != self._current_activity:
self._current_activity = curact
+ changed_props["current-activity"] = curact
changed = True
- if not changed:
+ if not changed or not len(changed_props.keys()):
return
# Try emitting PropertyChanged before updating validity
# to avoid leaking a PropertyChanged signal before the buddy is
# actually valid the first time after creation
if self._valid:
- self.PropertyChanged(properties)
- self.emit('property-changed', properties)
+ self.PropertyChanged(changed_props)
+ self.emit('property-changed', changed_props)
self._update_validity()