From a30b2689d14a4026af2f3ebd01764bf896aaeb59 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 17 Sep 2012 14:45:41 +0000 Subject: fix for the file transfer events git-svn-id: http://svn.miranda-ng.org/main/trunk@1590 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Gadu-Gadu/filetransfer.cpp | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'protocols/Gadu-Gadu/filetransfer.cpp') diff --git a/protocols/Gadu-Gadu/filetransfer.cpp b/protocols/Gadu-Gadu/filetransfer.cpp index 0637273ddb..e7560e16a2 100644 --- a/protocols/Gadu-Gadu/filetransfer.cpp +++ b/protocols/Gadu-Gadu/filetransfer.cpp @@ -355,31 +355,22 @@ void __cdecl GGPROTO::dccmainthread(void*) ////////////////////////////////////////////////// // Add file recv request { - CCSDATA ccs; - PROTORECVEVENT pre; - char *szBlob; - char *szFilename = (char*)dcc->file_info.filename; - char *szMsg = (char*)dcc->file_info.filename; - // Make new ggtransfer struct dcc->contact = getcontact(dcc->peer_uin, 0, 0, NULL); - szBlob = (char *)malloc(sizeof(DWORD) + strlen(szFilename) + strlen(szMsg) + 2); - // Store current dcc - *(PDWORD)szBlob = (DWORD)dcc; - // Store filename - strcpy(szBlob + sizeof(DWORD), szFilename); - // Store description - strcpy(szBlob + sizeof(DWORD) + strlen(szFilename) + 1, szMsg); - ccs.szProtoService = PSR_FILE; - ccs.hContact = dcc->contact; - ccs.wParam = 0; - ccs.lParam = (LPARAM)⪯ - pre.flags = 0; + TCHAR* filenameT = mir_utf8decodeT((char*)dcc->file_info.filename); + + PROTORECVFILET pre = {0}; + pre.flags = PREF_TCHAR; + pre.fileCount = 1; pre.timestamp = time(NULL); - pre.szMessage = szBlob; - pre.lParam = 0; + pre.tszDescription = filenameT; + pre.ptszFiles = &filenameT; + pre.lParam = (LPARAM)dcc7; + + CCSDATA ccs = { dcc7->contact, PSR_FILE, 0, (LPARAM)&pre }; CallService(MS_PROTO_CHAINRECV, 0, (LPARAM)&ccs); - free(szBlob); + + mir_free(filenameT); } break; -- cgit v1.2.3