urlmon: Fix PROTOCOLDATA message passing in IInternetProtocolSink interface of Binding.

This commit is contained in:
Misha Koshelev 2007-11-11 01:28:03 -06:00 committed by Alexandre Julliard
parent 0a158e7aa3
commit 57f36261fa
1 changed files with 3 additions and 3 deletions

View File

@ -622,14 +622,14 @@ static ULONG WINAPI InternetProtocolSink_Release(IInternetProtocolSink *iface)
typedef struct { typedef struct {
task_header_t header; task_header_t header;
PROTOCOLDATA *data; PROTOCOLDATA data;
} switch_task_t; } switch_task_t;
static void switch_proc(Binding *binding, task_header_t *t) static void switch_proc(Binding *binding, task_header_t *t)
{ {
switch_task_t *task = (switch_task_t*)t; switch_task_t *task = (switch_task_t*)t;
IInternetProtocol_Continue(binding->protocol, task->data); IInternetProtocol_Continue(binding->protocol, &task->data);
HeapFree(GetProcessHeap(), 0, task); HeapFree(GetProcessHeap(), 0, task);
} }
@ -643,7 +643,7 @@ static HRESULT WINAPI InternetProtocolSink_Switch(IInternetProtocolSink *iface,
TRACE("(%p)->(%p)\n", This, pProtocolData); TRACE("(%p)->(%p)\n", This, pProtocolData);
task = HeapAlloc(GetProcessHeap(), 0, sizeof(switch_task_t)); task = HeapAlloc(GetProcessHeap(), 0, sizeof(switch_task_t));
task->data = pProtocolData; memcpy(&task->data, pProtocolData, sizeof(PROTOCOLDATA));
push_task(This, &task->header, switch_proc); push_task(This, &task->header, switch_proc);