Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-05-21 10:27:47 (GMT)
committer Simon McVittie <simon.mcvittie@collabora.co.uk>2007-05-21 10:27:47 (GMT)
commit8c8dffe662b9b2491eed2e553e3165c827f1c3cc (patch)
tree1610e49397b81582a225fb25ad2821fba889635c /services
parentcd0a2b3ecd3b10cdb60daf5cf1dfc2eec08b9f4c (diff)
parent11c89d86c91d91de42a815f7715076494c33fa25 (diff)
Merge commit 'origin' into submit
Diffstat (limited to 'services')
-rw-r--r--services/presence/buddy.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/services/presence/buddy.py b/services/presence/buddy.py
index 429f824..53999e8 100644
--- a/services/presence/buddy.py
+++ b/services/presence/buddy.py
@@ -389,7 +389,14 @@ class Buddy(ExportedGObject):
# to avoid leaking a PropertyChanged signal before the buddy is
# actually valid the first time after creation
if self._valid:
- self.PropertyChanged(changed_props)
+ dbus_changed = {}
+ for key, value in changed_props.items():
+ if value:
+ dbus_changed[key] = value
+ else:
+ dbus_changed[key] = ""
+ self.PropertyChanged(dbus_changed)
+
self.emit('property-changed', changed_props)
self._update_validity()
@@ -453,6 +460,11 @@ class GenericOwner(Buddy):
self._registered = kwargs["registered"]
del kwargs["registered"]
+ self._ip4_addr_monitor = psutils.IP4AddressMonitor.get_instance()
+ self._ip4_addr_monitor.connect("address-changed", self._ip4_address_changed_cb)
+ if self._ip4_addr_monitor.props.address:
+ kwargs["ip4-address"] = self._ip4_addr_monitor.props.address
+
Buddy.__init__(self, bus_name, object_id, **kwargs)
self._owner = True
@@ -461,9 +473,6 @@ class GenericOwner(Buddy):
signal_name="NameOwnerChanged",
dbus_interface="org.freedesktop.DBus")
- self._ip4_addr_monitor = psutils.IP4AddressMonitor.get_instance()
- self._ip4_addr_monitor.connect("address-changed", self._ip4_address_changed_cb)
-
def _ip4_address_changed_cb(self, monitor, address):
"""Handle IPv4 address change, set property to generate event"""
props = {_PROP_IP4_ADDRESS: address}