]> code.delx.au - pymsnt/commitdiff
Ported 7:8 fix of handling MSN users disabling their avatar from branches/0_10_x
authorjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Tue, 1 Nov 2005 00:28:42 +0000 (00:28 +0000)
committerjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Tue, 1 Nov 2005 00:28:42 +0000 (00:28 +0000)
git-svn-id: http://delx.cjb.net/svn/pymsnt/trunk@9 55fbd22a-6204-0410-b2f0-b6c764c7e90a

committer: jamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>

src/legacy/glue.py

index e155b8bc8e79d5ce89d34ada5cb70951d847d635..b93e0110e403045216ec0489e3895a6864dfd38d 100644 (file)
@@ -312,16 +312,24 @@ class LegacyConnection(msnw.MSNConnection):
        
        def avatarHashChanged(self, userHandle, hash):
                if not self.session: return
-               av = self.session.pytrans.avatarCache.getAvatar(hash)
-               if av:
-                       msnContact = self.getContacts().getContact(userHandle)
-                       msnContact.msnobjGot = True
-                       jid = msn2jid(userHandle)
+
+               if not hash:
+                       # They've turned off their avatar
                        c = self.session.contactList.findContact(jid)
                        if not c: return
                        c.updateAvatar(av)
                else:
-                       self.requestAvatar(userHandle)
+                       # New avatar
+                       av = self.session.pytrans.avatarCache.getAvatar(hash)
+                       if av:
+                               msnContact = self.getContacts().getContact(userHandle)
+                               msnContact.msnobjGot = True
+                               jid = msn2jid(userHandle)
+                               c = self.session.contactList.findContact(jid)
+                               if not c: return
+                               c.updateAvatar(av)
+                       else:
+                               self.requestAvatar(userHandle)
        
        def gotAvatarImage(self, userHandle, imageData):
                if not self.session: return