diff options
author | Simon 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) |
commit | 66c5e882f359ad29286c23bb06c4a70155ddd167 (patch) | |
tree | bd04fb7725e59613121f1308f2b99e9fc42b3d4f /services | |
parent | ccc224e76f4fff2d800ac2dae2527d361415a1cf (diff) | |
parent | 8c8dffe662b9b2491eed2e553e3165c827f1c3cc (diff) |
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
Diffstat (limited to 'services')
-rw-r--r-- | services/presence/buddy.py | 17 |
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} |