From 61d3be47459f5edf9cee7593da6475263ef30721 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 29 Mar 2020 05:06:50 -0400 Subject: Properly fix crash in nsDownloadManager when repeatedly pausing and resuming a download This applies only to applications that do not use JSDownloads and is based on Bug 1224326 --- toolkit/components/downloads/nsDownloadManager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'toolkit') diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp index 9f43ade2c..587c1ac8a 100644 --- a/toolkit/components/downloads/nsDownloadManager.cpp +++ b/toolkit/components/downloads/nsDownloadManager.cpp @@ -1829,6 +1829,9 @@ nsDownloadManager::RetryDownload(nsDownload* dl) return rv; } + rv = NotifyDownloadRemoval(dl); + NS_ENSURE_SUCCESS(rv, rv); + // reset time and download progress dl->SetStartTime(PR_Now()); dl->SetProgressBytes(0, -1); @@ -3083,7 +3086,7 @@ nsDownload::OnStateChange(nsIWebProgress *aWebProgress, #else (void)SetState(nsIDownloadManager::DOWNLOAD_FINISHED); #endif - } else { + } else if (aStatus != NS_BINDING_ABORTED) { // We failed for some unknown reason -- fail with a generic message (void)FailDownload(aStatus, nullptr); } -- cgit v1.2.3