Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-03-16 14:43:15 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-03-16 14:43:15 (GMT)
commitd196fb89a7567b34e1f8312ea17d654db2d3524b (patch)
tree25872a79f925ac7231fc2cf1f3bd5eafacb703be /services
parentbd2ff74be41b0da21abe45f67a16d98d272f5cbc (diff)
Ignore owner property updates from the network; handled locally
Diffstat (limited to 'services')
-rw-r--r--services/presence2/server_plugin.py22
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: