Module: wine Branch: refs/heads/master Commit: 349b93ae57a8a4c37f96a96ec0c6fba281edc6b4 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=349b93ae57a8a4c37f96a96e...
Author: Jacek Caban jacek@codeweavers.com Date: Wed May 31 19:48:23 2006 +0200
urlmon: Remove no longer needed binding value in task_t.
---
dlls/urlmon/binding.c | 41 +++++++++++++++-------------------------- 1 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index c70364e..20a95f1 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -51,7 +51,6 @@ typedef struct {
typedef struct _task_t { enum task_enum task; - Binding *binding; struct _task_t *next; union { on_progress_data on_progress; @@ -109,18 +108,18 @@ #define STREAM(x) ((IStream*) &(x)->lpSt
#define WM_MK_CONTINUE (WM_USER+101)
-static void push_task(task_t *task) +static void push_task(Binding *binding, task_t *task) { task->next = NULL;
- EnterCriticalSection(&task->binding->section); + EnterCriticalSection(&binding->section);
- if(task->binding->task_queue_tail) - task->binding->task_queue_tail->next = task; + if(binding->task_queue_tail) + binding->task_queue_tail->next = task; else - task->binding->task_queue_tail = task->binding->task_queue_head = task; + binding->task_queue_tail = binding->task_queue_head = task;
- LeaveCriticalSection(&task->binding->section); + LeaveCriticalSection(&binding->section); }
static task_t *pop_task(Binding *binding) @@ -141,13 +140,13 @@ static task_t *pop_task(Binding *binding return ret; }
-static void do_task(task_t *task) +static void do_task(Binding *binding, task_t *task) { switch(task->task) { case TASK_ON_PROGRESS: { on_progress_data *data = &task->data.on_progress;
- IBindStatusCallback_OnProgress(task->binding->callback, data->progress, + IBindStatusCallback_OnProgress(binding->callback, data->progress, data->progress_max, data->status_code, data->status_text);
HeapFree(GetProcessHeap(), 0, data->status_text); @@ -156,9 +155,9 @@ static void do_task(task_t *task) break; } case TASK_SWITCH: - task->binding->continue_call++; - IInternetProtocol_Continue(task->binding->protocol, task->data.protocol_data); - task->binding->continue_call--; + binding->continue_call++; + IInternetProtocol_Continue(binding->protocol, task->data.protocol_data); + binding->continue_call--; } }
@@ -166,10 +165,8 @@ static void do_tasks(Binding *This) { task_t *task;
- while((task = pop_task(This))) { - do_task(task); - IBinding_Release(BINDING(task->binding)); - } + while((task = pop_task(This))) + do_task(This, task); }
static LRESULT WINAPI notif_wnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -240,10 +237,6 @@ static void on_progress(Binding *This, U task = HeapAlloc(GetProcessHeap(), 0, sizeof(task_t));
task->task = TASK_ON_PROGRESS; - - IBinding_AddRef(BINDING(This)); - task->binding = This; - task->data.on_progress.progress = progress; task->data.on_progress.progress_max = progress_max; task->data.on_progress.status_code = status_code; @@ -257,7 +250,7 @@ static void on_progress(Binding *This, U task->data.on_progress.status_text = NULL; }
- push_task(task); + push_task(This, task);
if(GetCurrentThreadId() != This->apartment_thread) { IBinding_AddRef(BINDING(This)); @@ -772,13 +765,9 @@ static HRESULT WINAPI InternetProtocolSi
task = HeapAlloc(GetProcessHeap(), 0, sizeof(task_t)); task->task = TASK_SWITCH; - - IBinding_AddRef(BINDING(This)); - task->binding = This; - task->data.protocol_data = pProtocolData;
- push_task(task); + push_task(This, task);
IBinding_AddRef(BINDING(This)); PostMessageW(This->notif_hwnd, WM_MK_CONTINUE, 0, (LPARAM)This);