Module: wine Branch: master Commit: 832d4eb2e2117220231a6983a42bc8264200015e URL: http://source.winehq.org/git/wine.git/?a=commit;h=832d4eb2e2117220231a6983a4...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Aug 3 12:35:04 2011 +0200
mshtml: Use task destructor for navigate task.
---
dlls/mshtml/htmlwindow.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index 61d0837..6e04612 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -1741,9 +1741,15 @@ static void navigate_proc(task_t *_task) if(SUCCEEDED(hres)) hres = start_binding(task->window, NULL, (BSCallback*)task->bscallback, NULL);
+} + +static void navigate_task_destr(task_t *_task) +{ + navigate_task_t *task = (navigate_task_t*)_task; + IUnknown_Release((IUnknown*)task->bscallback); - IHTMLWindow2_Release(&task->window->IHTMLWindow2_iface); IMoniker_Release(task->mon); + heap_free(task); }
static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate(IHTMLPrivateWindow *iface, BSTR url, BSTR arg2, BSTR arg3, @@ -1843,11 +1849,10 @@ static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate(IHTMLPrivateWindow *iface, return E_OUTOFMEMORY; }
- IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface); task->window = This; task->bscallback = bsc; task->mon = mon; - push_task(&task->header, navigate_proc, NULL, This->task_magic); + push_task(&task->header, navigate_proc, navigate_task_destr, This->task_magic);
/* Silently and repeated when real loading starts? */ This->readystate = READYSTATE_LOADING;