aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/avatar_manager.vala
diff options
context:
space:
mode:
Diffstat (limited to 'libdino/src/service/avatar_manager.vala')
-rw-r--r--libdino/src/service/avatar_manager.vala12
1 files changed, 6 insertions, 6 deletions
diff --git a/libdino/src/service/avatar_manager.vala b/libdino/src/service/avatar_manager.vala
index 7f69f508..d079b70d 100644
--- a/libdino/src/service/avatar_manager.vala
+++ b/libdino/src/service/avatar_manager.vala
@@ -157,19 +157,19 @@ public class AvatarManager : StreamInteractionModule, Object {
);
foreach (var entry in get_avatar_hashes(account, Source.USER_AVATARS).entries) {
- on_user_avatar_received(account, entry.key, entry.value);
+ on_user_avatar_received(account, entry.key, entry.value, false);
}
foreach (var entry in get_avatar_hashes(account, Source.VCARD).entries) {
- on_vcard_avatar_received(account, entry.key, entry.value);
+ on_vcard_avatar_received(account, entry.key, entry.value, false);
}
}
- private void on_user_avatar_received(Account account, Jid jid_, string id) {
+ private void on_user_avatar_received(Account account, Jid jid_, string id, bool is_live = true) {
Jid jid = jid_.bare_jid;
if (!user_avatars.has_key(jid) || user_avatars[jid] != id) {
user_avatars[jid] = id;
- set_avatar_hash(account, jid, id, Source.USER_AVATARS);
+ if (is_live) set_avatar_hash(account, jid, id, Source.USER_AVATARS);
}
received_avatar(jid, account);
}
@@ -181,13 +181,13 @@ public class AvatarManager : StreamInteractionModule, Object {
received_avatar(jid, account);
}
- private void on_vcard_avatar_received(Account account, Jid jid_, string id) {
+ private void on_vcard_avatar_received(Account account, Jid jid_, string id, bool is_live = true) {
bool is_gc = stream_interactor.get_module(MucManager.IDENTITY).might_be_groupchat(jid_.bare_jid, account);
Jid jid = is_gc ? jid_ : jid_.bare_jid;
if (!vcard_avatars.has_key(jid) || vcard_avatars[jid] != id) {
vcard_avatars[jid] = id;
- if (jid.is_bare()) { // don't save MUC occupant avatars
+ if (is_live && jid.is_bare()) { // don't save MUC occupant avatars
set_avatar_hash(account, jid, id, Source.VCARD);
}
}