From 1ed163aadcc0ea1baa3e6d1982efddfcf1f78ca9 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sat, 15 Jun 2013 14:04:24 +0000 Subject: fixed working mra with nxsn git-svn-id: http://svn.miranda-ng.org/main/trunk@4956 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/MRA/src/Mra_functions.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'protocols/MRA/src/Mra_functions.cpp') diff --git a/protocols/MRA/src/Mra_functions.cpp b/protocols/MRA/src/Mra_functions.cpp index 6572e3307b..f7b5ab93a5 100644 --- a/protocols/MRA/src/Mra_functions.cpp +++ b/protocols/MRA/src/Mra_functions.cpp @@ -1081,19 +1081,17 @@ static void FakeThread(void* param) mir_free(param); } -DWORD CMraProto::ProtoBroadcastAckAsync(HANDLE hContact, int type, int hResult, HANDLE hProcess, LPARAM lParam, size_t paramSize) +int CMraProto::ProtoBroadcastAckAsync(HANDLE hContact, int type, int hResult, HANDLE hProcess, LPARAM lParam) { - ACKDATA* ack = (ACKDATA*)mir_calloc(sizeof(ACKDATA) + paramSize); - ack->cbSize = sizeof(ACKDATA); - ack->szModule = m_szModuleName; ack->hContact = hContact; - ack->type = type; ack->result = hResult; - ack->hProcess = hProcess; - if (paramSize) { - ack->lParam = (LPARAM)(ack+1); - memcpy((void*)ack->lParam, (void*)lParam, paramSize); - } - mir_forkthread(FakeThread, ack); - return 0; + ACKDATA ack = {0}; + ack.cbSize = sizeof(ACKDATA); + ack.szModule = m_szModuleName; + ack.hContact = hContact; + ack.type = type; + ack.result = hResult; + ack.hProcess = hProcess; + ack.lParam = lParam; + return CallService(MS_PROTO_BROADCASTACK, 0, (LPARAM)&ack); } DWORD CMraProto::CreateBlobFromContact(HANDLE hContact, LPWSTR lpwszRequestReason, size_t dwRequestReasonSize, LPBYTE lpbBuff, size_t dwBuffSize, size_t *pdwBuffSizeRet) -- cgit v1.2.3