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:30:38 (GMT)
committer Simon McVittie <simon.mcvittie@collabora.co.uk>2007-05-21 10:30:38 (GMT)
commit66c5e882f359ad29286c23bb06c4a70155ddd167 (patch)
treebd04fb7725e59613121f1308f2b99e9fc42b3d4f /services
parentccc224e76f4fff2d800ac2dae2527d361415a1cf (diff)
parent8c8dffe662b9b2491eed2e553e3165c827f1c3cc (diff)
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
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 a1d9a43..eb072a1 100644
--- a/services/presence/buddy.py
+++ b/services/presence/buddy.py
@@ -450,7 +450,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()
@@ -514,6 +521,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
@@ -522,9 +534,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}