diff --git a/dlls/qmgr/file.c b/dlls/qmgr/file.c index 2525cafec4b..302f4075fc1 100644 --- a/dlls/qmgr/file.c +++ b/dlls/qmgr/file.c @@ -420,7 +420,8 @@ done: WinHttpCloseHandle(req); WinHttpCloseHandle(con); WinHttpCloseHandle(ses); - if (!ret) DeleteFileW(tmpfile); + if (!ret && !transitionJobState(job, BG_JOB_STATE_CONNECTING, BG_JOB_STATE_ERROR)) + transitionJobState(job, BG_JOB_STATE_TRANSFERRING, BG_JOB_STATE_ERROR); SetEvent(job->done); return ret; @@ -525,13 +526,9 @@ BOOL processFile(BackgroundCopyFileImpl *file, BackgroundCopyJobImpl *job) if (!ret) { TRACE("WinHttpCrackUrl failed, trying local file copy\n"); - if (!transfer_file_local(file, tmpName)) return FALSE; - } - else if (!transfer_file_http(file, &uc, tmpName)) - { - WARN("HTTP transfer failed\n"); - return FALSE; + if (!transfer_file_local(file, tmpName)) WARN("local transfer failed\n"); } + else if (!transfer_file_http(file, &uc, tmpName)) WARN("HTTP transfer failed\n"); if (transitionJobState(job, BG_JOB_STATE_CONNECTING, BG_JOB_STATE_QUEUED) || transitionJobState(job, BG_JOB_STATE_TRANSFERRING, BG_JOB_STATE_QUEUED))