diff --git a/camino/src/download/ProgressViewController.mm b/camino/src/download/ProgressViewController.mm index 215963c334b..2c4dc7d9fd7 100644 --- a/camino/src/download/ProgressViewController.mm +++ b/camino/src/download/ProgressViewController.mm @@ -220,8 +220,9 @@ enum { -(IBAction)cancel:(id)sender { - // don't allow download to be cancelled twice or we get a nasty crash - if (!mUserCancelled) { + // don't allow download to be cancelled twice or we get a nasty crash, + // and don't cancel completed downloads, because that deletes the file + if (!mUserCancelled && !mDownloadDone) { mUserCancelled = YES; if (mDownloader) { // we should always have one