diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c index f9f12d52e96..6baac6388aa 100644 --- a/dlls/mshtml/task.c +++ b/dlls/mshtml/task.c @@ -128,8 +128,10 @@ void remove_target_tasks(LONG target) } if(!list_empty(&thread_data->timer_list)) { + DWORD tc = GetTickCount(); + timer = LIST_ENTRY(list_head(&thread_data->timer_list), task_timer_t, entry); - SetTimer(thread_data->thread_hwnd, TIMER_ID, timer->time - GetTickCount(), NULL); + SetTimer(thread_data->thread_hwnd, TIMER_ID, max( (int)(timer->time - tc), 0 ), NULL); } while(thread_data->task_queue_head && thread_data->task_queue_head->target_magic == target) {