diff options
-rw-r--r-- | src/mir_app/src/chat_svc.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mir_app/src/chat_svc.cpp b/src/mir_app/src/chat_svc.cpp index 13f356b2c7..36422461a6 100644 --- a/src/mir_app/src/chat_svc.cpp +++ b/src/mir_app/src/chat_svc.cpp @@ -420,14 +420,16 @@ static BOOL AddEventToAllMatchingUID(GCEVENT *gce) static INT_PTR CALLBACK sttEventStub(void *_param)
{
+ ptrW wszId, wszUid, wszNick, wszText, wszStatus, wszUserInfo;
+
GCEVENT gce = *(GCEVENT*)_param;
if (gce.dwFlags & GCEF_UTF8) {
- gce.pszID.w = NEWWSTR_ALLOCA(Utf2T(gce.pszID.a));
- gce.pszUID.w = NEWWSTR_ALLOCA(Utf2T(gce.pszUID.a));
- gce.pszNick.w = NEWWSTR_ALLOCA(Utf2T(gce.pszNick.a));
- gce.pszText.w = NEWWSTR_ALLOCA(Utf2T(gce.pszText.a));
- gce.pszStatus.w = NEWWSTR_ALLOCA(Utf2T(gce.pszStatus.a));
- gce.pszUserInfo.w = NEWWSTR_ALLOCA(Utf2T(gce.pszUserInfo.a));
+ gce.pszID.w = (wszId = mir_utf8decodeW(gce.pszID.a));
+ gce.pszUID.w = (wszUid = mir_utf8decodeW(gce.pszUID.a));
+ gce.pszNick.w = (wszNick = mir_utf8decodeW(gce.pszNick.a));
+ gce.pszText.w = (wszText = mir_utf8decodeW(gce.pszText.a));
+ gce.pszStatus.w = (wszStatus = mir_utf8decodeW(gce.pszStatus.a));
+ gce.pszUserInfo.w = (wszUserInfo = mir_utf8decodeW(gce.pszUserInfo.a));
gce.dwFlags &= ~GCEF_UTF8;
}
|