summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_avatars.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Steam/src/steam_avatars.cpp')
-rw-r--r--protocols/Steam/src/steam_avatars.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/protocols/Steam/src/steam_avatars.cpp b/protocols/Steam/src/steam_avatars.cpp
index 2a7de109ca..022ec914c5 100644
--- a/protocols/Steam/src/steam_avatars.cpp
+++ b/protocols/Steam/src/steam_avatars.cpp
@@ -23,17 +23,18 @@ bool CSteamProto::GetDbAvatarInfo(PROTO_AVATAR_INFORMATION &pai)
return true;
}
-void CSteamProto::CheckAvatarChange(MCONTACT hContact, std::string avatarUrl)
+void CSteamProto::CheckAvatarChange(MCONTACT hContact, const char *avatarHash)
{
- if (avatarUrl.empty())
- return;
-
// Check for avatar change
- ptrA oldAvatarUrl(getStringA(hContact, "AvatarUrl"));
- bool update_required = (!oldAvatarUrl || avatarUrl.compare(oldAvatarUrl));
+ ptrA oldAvatarHash(getStringA(hContact, "AvatarHash"));
+ bool update_required = mir_strcmp(oldAvatarHash, avatarHash) != 0;
- if (update_required)
- setString(hContact, "AvatarUrl", avatarUrl.c_str());
+ if (update_required) {
+ if (avatarHash)
+ setString(hContact, "AvatarHash", avatarHash);
+ else
+ delSetting(hContact, "AvatarHash");
+ }
if (!hContact) {
PROTO_AVATAR_INFORMATION ai = { 0 };