summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Avatars/VCardUpdateAvatarManager.cpp')
-rw-r--r--Swiften/Avatars/VCardUpdateAvatarManager.cpp11
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
60void VCardUpdateAvatarManager::setAvatarHash(const JID& from, const String& hash) { 65void VCardUpdateAvatarManager::setAvatarHash(const JID& from, const String& hash) {
61 avatarHashes_[from] = hash; 66 avatarHashes_[from] = hash;
62 onAvatarChanged(from, hash); 67 onAvatarChanged(from, hash);