summaryrefslogtreecommitdiff
path: root/metacontacts/meta_utils.c
diff options
context:
space:
mode:
author(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2012-07-19 00:17:32 +0000
committer(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2012-07-19 00:17:32 +0000
commite89fe281f2589d9bc562b8f59efba3680d497137 (patch)
tree2129283d730d508ef295d377b05321c0cc67b63f /metacontacts/meta_utils.c
parent9a04d5930c26ba291b4ceee5180ec599147cdb64 (diff)
Updated for compatibility with Unicode avatars
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@602 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'metacontacts/meta_utils.c')
-rw-r--r--metacontacts/meta_utils.c39
1 files changed, 27 insertions, 12 deletions
diff --git a/metacontacts/meta_utils.c b/metacontacts/meta_utils.c
index 38a9e69..5946582 100644
--- a/metacontacts/meta_utils.c
+++ b/metacontacts/meta_utils.c
@@ -414,18 +414,7 @@ BOOL Meta_Assign(HANDLE src, HANDLE dest, BOOL set_as_default)
Meta_FixStatus(dest);
// if the new contact is the most online contact with avatar support, get avatar info
- most_online = Meta_GetMostOnlineSupporting(dest, PFLAGNUM_4, PF4_AVATARS);
- if(most_online == src) {
- PROTO_AVATAR_INFORMATION AI;
-
- AI.cbSize = sizeof(AI);
- AI.hContact = dest;
- AI.format = PA_FORMAT_UNKNOWN;
- strcpy(AI.filename, "X");
-
- if((int)CallProtoService(META_PROTO, PS_GETAVATARINFO, 0, (LPARAM)&AI) == GAIR_SUCCESS)
- DBWriteContactSettingString(dest, "ContactPhoto", "File",AI.filename);
- }
+ Meta_UpdateAvatar(dest);
// Hide the contact
Meta_SetGroup(src);
@@ -1713,5 +1702,31 @@ INT_PTR Meta_IsEnabled() {
return DBGetContactSettingByte(0, META_PROTO, "Enabled", 1) && (meta_group_hack_disabled || DBGetContactSettingByte(NULL, "CList", "UseGroups", 1));
}
+void Meta_UpdateAvatar(HANDLE hMeta)
+{
+ HANDLE most_online = Meta_GetMostOnlineSupporting(hMeta, PFLAGNUM_4, PF4_AVATARS);
+ if (most_online)
+ {
+ PROTO_AVATAR_INFORMATIONW AI;
+
+ AI.cbSize = sizeof(AI);
+ AI.hContact = hMeta;
+ AI.format = PA_FORMAT_UNKNOWN;
+ wcscpy(AI.filename, L"X");
+
+ if (CallProtoService(META_PROTO, PS_GETAVATARINFOW, 0, (LPARAM)&AI) == GAIR_SUCCESS)
+ DBWriteContactSettingWString(hMeta, "ContactPhoto", "File", AI.filename);
+ else
+ {
+ PROTO_AVATAR_INFORMATION AI;
+ AI.cbSize = sizeof(AI);
+ AI.hContact = hMeta;
+ AI.format = PA_FORMAT_UNKNOWN;
+ strcpy(AI.filename, "X");
+ if (CallProtoService(META_PROTO, PS_GETAVATARINFO, 0, (LPARAM)&AI) == GAIR_SUCCESS)
+ DBWriteContactSettingString(hMeta, "ContactPhoto", "File", AI.filename);
+ }
+ }
+}