mshtml: Properly free tasks in remove_target_tasks.
diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c
index 136561c..a38437c 100644
--- a/dlls/mshtml/task.c
+++ b/dlls/mshtml/task.c
@@ -116,15 +116,16 @@
SetTimer(thread_data->thread_hwnd, TIMER_ID, timer->time - GetTickCount(), NULL);
}
- while(thread_data->task_queue_head
- && thread_data->task_queue_head->target_magic == target)
- pop_task();
+ while(thread_data->task_queue_head && thread_data->task_queue_head->target_magic == target) {
+ iter = pop_task();
+ iter->destr(iter);
+ }
for(iter = thread_data->task_queue_head; iter; iter = iter->next) {
while(iter->next && iter->next->target_magic == target) {
tmp = iter->next;
iter->next = tmp->next;
- heap_free(tmp);
+ tmp->destr(tmp);
}
if(!iter->next)