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

Alexandre Julliard julliard at winehq.org
Mon Nov 12 06:27:40 CST 2007


Module: wine
Branch: master
Commit: 57f36261faf163cfdab7a5a5fcc2bf88a08d51dc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=57f36261faf163cfdab7a5a5fcc2bf88a08d51dc

Author: Misha Koshelev <mk144210 at bcm.edu>
Date:   Sun Nov 11 01:28:03 2007 -0600

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

---

 dlls/urlmon/binding.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c
index ae58503..d3951bb 100644
--- a/dlls/urlmon/binding.c
+++ b/dlls/urlmon/binding.c
@@ -622,14 +622,14 @@ static ULONG WINAPI InternetProtocolSink_Release(IInternetProtocolSink *iface)
 
 typedef struct {
     task_header_t header;
-    PROTOCOLDATA *data;
+    PROTOCOLDATA data;
 } switch_task_t;
 
 static void switch_proc(Binding *binding, task_header_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);
 }
@@ -643,7 +643,7 @@ static HRESULT WINAPI InternetProtocolSink_Switch(IInternetProtocolSink *iface,
     TRACE("(%p)->(%p)\n", This, pProtocolData);
 
     task = HeapAlloc(GetProcessHeap(), 0, sizeof(switch_task_t));
-    task->data = pProtocolData;
+    memcpy(&task->data, pProtocolData, sizeof(PROTOCOLDATA));
 
     push_task(This, &task->header, switch_proc);
 




More information about the wine-cvs mailing list