diff options
author | Simon 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) |
commit | 8c8dffe662b9b2491eed2e553e3165c827f1c3cc (patch) | |
tree | 1610e49397b81582a225fb25ad2821fba889635c /services | |
parent | cd0a2b3ecd3b10cdb60daf5cf1dfc2eec08b9f4c (diff) | |
parent | 11c89d86c91d91de42a815f7715076494c33fa25 (diff) |
Merge commit 'origin' into submit
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 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} |