From 8c8dffe662b9b2491eed2e553e3165c827f1c3cc Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 21 May 2007 10:27:47 +0000 Subject: Merge commit 'origin' into submit --- (limited to 'services') 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} -- cgit v0.9.1