Jacek Caban : mshtml: Use task destructor for navigate task.

Alexandre Julliard julliard at winehq.org
Wed Aug 3 12:48:12 CDT 2011


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

Author: Jacek Caban <jacek at 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;




More information about the wine-cvs mailing list