diff options
Diffstat (limited to 'Swiften/Avatars/VCardUpdateAvatarManager.cpp')
| -rw-r--r-- | Swiften/Avatars/VCardUpdateAvatarManager.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Swiften/Avatars/VCardUpdateAvatarManager.cpp b/Swiften/Avatars/VCardUpdateAvatarManager.cpp index dbc0b9b..24abfa1 100644 --- a/Swiften/Avatars/VCardUpdateAvatarManager.cpp +++ b/Swiften/Avatars/VCardUpdateAvatarManager.cpp | |||
| @@ -50,13 +50,18 @@ void VCardUpdateAvatarManager::handleVCardChanged(const JID& from, VCard::ref vC | |||
| 50 | if (!vCard) { | 50 | if (!vCard) { |
| 51 | std::cerr << "Warning: " << from << ": null vcard payload" << std::endl; | 51 | std::cerr << "Warning: " << from << ": null vcard payload" << std::endl; |
| 52 | return; | 52 | return; |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | String hash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); | 55 | if (vCard->getPhoto().isEmpty()) { |
| 56 | avatarStorage_->addAvatar(hash, vCard->getPhoto()); | 56 | setAvatarHash(from, ""); |
| 57 | setAvatarHash(from, hash); | 57 | } |
| 58 | else { | ||
| 59 | String hash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); | ||
| 60 | avatarStorage_->addAvatar(hash, vCard->getPhoto()); | ||
| 61 | setAvatarHash(from, hash); | ||
| 62 | } | ||
| 58 | } | 63 | } |
| 59 | 64 | ||
| 60 | void VCardUpdateAvatarManager::setAvatarHash(const JID& from, const String& hash) { | 65 | void VCardUpdateAvatarManager::setAvatarHash(const JID& from, const String& hash) { |
| 61 | avatarHashes_[from] = hash; | 66 | avatarHashes_[from] = hash; |
| 62 | onAvatarChanged(from, hash); | 67 | onAvatarChanged(from, hash); |
Swift