diff options
author | Dan Williams <dcbw@redhat.com> | 2007-03-16 14:43:15 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2007-03-16 14:43:15 (GMT) |
commit | d196fb89a7567b34e1f8312ea17d654db2d3524b (patch) | |
tree | 25872a79f925ac7231fc2cf1f3bd5eafacb703be /services | |
parent | bd2ff74be41b0da21abe45f67a16d98d272f5cbc (diff) |
Ignore owner property updates from the network; handled locally
Diffstat (limited to 'services')
-rw-r--r-- | services/presence2/server_plugin.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/services/presence2/server_plugin.py b/services/presence2/server_plugin.py index 8d68c3f..e335194 100644 --- a/services/presence2/server_plugin.py +++ b/services/presence2/server_plugin.py @@ -416,6 +416,11 @@ class ServerPlugin(gobject.GObject): self._contact_offline(handle) def _avatar_updated_cb(self, handle, new_avatar_token): + if handle == self._conn[CONN_INTERFACE].GetSelfHandle(): + # ignore network events for Owner property changes since those + # are handled locally + return + jid = self._online_contacts[handle] icon = self._icon_cache.get_icon(jid, new_avatar_token) if not icon: @@ -432,14 +437,23 @@ class ServerPlugin(gobject.GObject): #print "Buddy %s alias changed to %s" % (handle, alias) self._buddy_properties_changed_cb(handle, prop) - def _buddy_properties_changed_cb(self, contact, properties): - self.emit("buddy-properties-changed", contact, properties) + def _buddy_properties_changed_cb(self, handle, properties): + if handle == self._conn[CONN_INTERFACE].GetSelfHandle(): + # ignore network events for Owner property changes since those + # are handled locally + return + self.emit("buddy-properties-changed", handle, properties) + + def _buddy_activities_changed_cb(self, handle, activities): + if handle == self._conn[CONN_INTERFACE].GetSelfHandle(): + # ignore network events for Owner activity changes since those + # are handled locally + return - def _buddy_activities_changed_cb(self, contact, activities): for act_id, act_handle in activities: self._activities[act_id] = act_handle activities_id = map(lambda x: x[0], activities) - self.emit("buddy-activities-changed", contact, activities_id) + self.emit("buddy-activities-changed", handle, activities_id) def _new_channel_cb(self, object_path, channel_type, handle_type, handle, suppress_handler): if handle_type == CONNECTION_HANDLE_TYPE_ROOM and channel_type == CHANNEL_TYPE_TEXT: |