diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-09-09 16:05:18 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-09-11 21:53:45 (GMT) |
commit | 8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b (patch) | |
tree | aada96d0c28d46b771d4afb59cb84a93ea358df4 /Swiften/Avatars/VCardUpdateAvatarManager.cpp | |
parent | 37511b6d30cb9cb6c1f5b1fdcca5f6658e4425da (diff) | |
download | swift-contrib-8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b.zip swift-contrib-8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b.tar.bz2 |
Added VCardAvatarManager for offline avatars.
Resolves: #418
Diffstat (limited to 'Swiften/Avatars/VCardUpdateAvatarManager.cpp')
-rw-r--r-- | Swiften/Avatars/VCardUpdateAvatarManager.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Swiften/Avatars/VCardUpdateAvatarManager.cpp b/Swiften/Avatars/VCardUpdateAvatarManager.cpp index 9d0ae2d..c830b54 100644 --- a/Swiften/Avatars/VCardUpdateAvatarManager.cpp +++ b/Swiften/Avatars/VCardUpdateAvatarManager.cpp @@ -25,10 +25,6 @@ VCardUpdateAvatarManager::VCardUpdateAvatarManager(VCardManager* vcardManager, S vcardManager_->onVCardChanged.connect(boost::bind(&VCardUpdateAvatarManager::handleVCardChanged, this, _1, _2)); } -VCardUpdateAvatarManager::~VCardUpdateAvatarManager() { - -} - void VCardUpdateAvatarManager::handlePresenceReceived(boost::shared_ptr<Presence> presence) { boost::shared_ptr<VCardUpdate> update = presence->getPayload<VCardUpdate>(); if (!update || presence->getPayload<ErrorPayload>()) { @@ -57,7 +53,9 @@ void VCardUpdateAvatarManager::handleVCardChanged(const JID& from, VCard::ref vC } else { String hash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); - avatarStorage_->addAvatar(hash, vCard->getPhoto()); + if (!avatarStorage_->hasAvatar(hash)) { + avatarStorage_->addAvatar(hash, vCard->getPhoto()); + } setAvatarHash(from, hash); } } |