Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/presence/buddy.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar/presence/buddy.py')
-rw-r--r--src/sugar/presence/buddy.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sugar/presence/buddy.py b/src/sugar/presence/buddy.py
index 4722485..aa16f7e 100644
--- a/src/sugar/presence/buddy.py
+++ b/src/sugar/presence/buddy.py
@@ -276,17 +276,17 @@ class Buddy(BaseBuddy):
error_handler=self.__error_handler_cb)
def __got_properties_cb(self, properties):
- _logger.debug('__got_properties_cb', properties)
+ _logger.debug('__got_properties_cb %r', properties)
self._get_properties_call = None
self._update_properties(properties)
def __got_attributes_cb(self, attributes):
- _logger.debug('__got_attributes_cb', attributes)
+ _logger.debug('__got_attributes_cb %r', attributes)
self._get_attributes_call = None
self._update_attributes(attributes[self._contact_handle])
def __error_handler_cb(self, error):
- _logger.debug('__error_handler_cb', error)
+ _logger.debug('__error_handler_cb %r', error)
def __properties_changed_cb(self, new_props):
_logger.debug('%r: Buddy properties changed to %r', self, new_props)
@@ -314,7 +314,11 @@ class Buddy(BaseBuddy):
self.props.nick = attributes[nick_key]
def do_get_property(self, pspec):
- if self._get_properties_call is not None:
+ if pspec.name == 'nick' and self._get_attributes_call is not None:
+ _logger.debug('%r: Blocking on GetContactAttributes() because someone '
+ 'wants property nick', self)
+ self._get_attributes_call.block()
+ elif pspec.name != 'nick' and self._get_properties_call is not None:
_logger.debug('%r: Blocking on GetProperties() because someone '
'wants property %s', self, pspec.name)
self._get_properties_call.block()