X-Git-Url: https://code.delx.au/pymsnt/blobdiff_plain/fca228030295117f69ade6644859c10f1b10b388..cdc1223ee42d056ecf7b7334aa921f6c1583b56e:/src/legacy/msn/msnw.py diff --git a/src/legacy/msn/msnw.py b/src/legacy/msn/msnw.py index da41fc5..3810f53 100644 --- a/src/legacy/msn/msnw.py +++ b/src/legacy/msn/msnw.py @@ -169,16 +169,16 @@ class MSNConnection: sb = self.switchboardSessions.get(userHandle) if sb: return sb.sendTypingNotification() - def changeAvatar(self, imageData): + def changeAvatar(self, imageDataFunc): """ Changes the user's avatar. - @param imageData: the new PNG avatar image data. + @param imageDataFunc: a function which returns the new PNG avatar image data. """ if self.notificationClient: LogEvent(INFO, self.ident) - self.notificationClient.changeAvatar(imageData, push=True) + self.notificationClient.changeAvatar(imageDataFunc, push=True) # Save the avatar for reuse on disconnection - self.savedEvents.avatarImageData = imageData + self.savedEvents.avatarImageDataFunc = imageDataFunc def changeStatus(self, statusCode, screenName, personal): """ @@ -342,13 +342,13 @@ class SavedEvents: self.screenName = "" self.statusCode = "" self.personal = "" - self.avatarImageData = "" + self.avatarImageDataFunc = None self.addContacts = [] self.remContacts = [] def send(self, msncon): - if self.avatarImageData: - msncon.notificationClient.changeAvatar(self.avatarImageData, push=False) + if self.avatarImageDataFunc: + msncon.notificationClient.changeAvatar(self.avatarImageDataFunc, push=False) if self.screenName or self.statusCode or self.personal: msncon.changeStatus(self.statusCode, self.screenName, self.personal) for listType, userHandle in self.addContacts: @@ -709,7 +709,7 @@ class OneSwitchboardSession(SwitchboardSessionBase): def userJoined(self, userHandle, screenName=''): LogEvent(INFO, self.ident) - if not self.reply: + if not self.reply and not self.ready: self._ready() if userHandle != self.remoteUser: # Another user has joined, so we now have three participants.