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

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


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Aug  3 12:36:26 2011 +0200

mshtml: Use task destructor for start_binding task.

---

 dlls/mshtml/nsio.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 36ffcf8..4e4e530 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -889,8 +889,14 @@ static void start_binding_proc(task_t *_task)
     start_binding_task_t *task = (start_binding_task_t*)_task;
 
     start_binding(NULL, task->doc, (BSCallback*)task->bscallback, NULL);
+}
+
+static void start_binding_task_destr(task_t *_task)
+{
+    start_binding_task_t *task = (start_binding_task_t*)_task;
 
-    IUnknown_Release((IUnknown*)task->bscallback);
+    IBindStatusCallback_Release(&task->bscallback->bsc.IBindStatusCallback_iface);
+    heap_free(task);
 }
 
 static nsresult async_open(nsChannel *This, HTMLWindow *window, BOOL is_doc_channel, nsIStreamListener *listener,
@@ -925,7 +931,7 @@ static nsresult async_open(nsChannel *This, HTMLWindow *window, BOOL is_doc_chan
 
         task->doc = window->doc;
         task->bscallback = bscallback;
-        push_task(&task->header, start_binding_proc, NULL, window->doc->basedoc.task_magic);
+        push_task(&task->header, start_binding_proc, start_binding_task_destr, window->doc->basedoc.task_magic);
     }
 
     return NS_OK;




More information about the wine-cvs mailing list