From e89fe281f2589d9bc562b8f59efba3680d497137 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> Date: Thu, 19 Jul 2012 00:17:32 +0000 Subject: Updated for compatibility with Unicode avatars git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@602 4f64403b-2f21-0410-a795-97e2b3489a10 --- metacontacts/meta_utils.c | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'metacontacts/meta_utils.c') 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); + } + } +} -- cgit v1.2.3