summaryrefslogtreecommitdiff
path: root/protocols/IcqOscarJ/src/oscar_filetransfer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/IcqOscarJ/src/oscar_filetransfer.cpp')
-rw-r--r--protocols/IcqOscarJ/src/oscar_filetransfer.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/protocols/IcqOscarJ/src/oscar_filetransfer.cpp b/protocols/IcqOscarJ/src/oscar_filetransfer.cpp
index 339507ba2e..12edd8348b 100644
--- a/protocols/IcqOscarJ/src/oscar_filetransfer.cpp
+++ b/protocols/IcqOscarJ/src/oscar_filetransfer.cpp
@@ -499,13 +499,19 @@ void CIcqProto::handleRecvServMsgOFT(BYTE *buf, size_t wLen, DWORD dwUin, char *
mir_strcpy(szBlob + sizeof(DWORD), pszFileName);
mir_strcpy(szBlob + sizeof(DWORD) + mir_strlen(pszFileName) + 1, pszDescription);
+ TCHAR* ptszFileName = mir_utf8decodeT(pszFileName);
+
PROTORECVFILET pre = { 0 };
+ pre.dwFlags = PRFF_TCHAR;
pre.fileCount = 1;
pre.timestamp = time(NULL);
- pre.szDescription = pszDescription;
- pre.pszFiles = &pszFileName;
+ pre.tszDescription = mir_utf8decodeT(pszDescription);
+ pre.ptszFiles = &ptszFileName;
pre.lParam = (LPARAM)ft;
ProtoChainRecvFile(hContact, &pre);
+
+ mir_free(pre.tszDescription);
+ mir_free(ptszFileName);
}
else if (wAckType == 2) { // First attempt failed, reverse requested
oscar_filetransfer *ft = FindOscarTransfer(hContact, dwID1, dwID2);