From 9973cd503782e5019dc4621b53f04b5cdb0f1824 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Tue, 2 Aug 2016 00:46:59 +0200 Subject: [PATCH] downloads: don't crash on OSError in open-download Fixes the crash in #1725, but does not provide a solution. The browser won't crash, but the file won't be downloaded and opened either. --- qutebrowser/browser/webkit/downloads.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qutebrowser/browser/webkit/downloads.py b/qutebrowser/browser/webkit/downloads.py index 87e038841..474f8d3e2 100644 --- a/qutebrowser/browser/webkit/downloads.py +++ b/qutebrowser/browser/webkit/downloads.py @@ -947,7 +947,13 @@ class DownloadManager(QAbstractListModel): download.set_filename(target.filename) elif isinstance(target, usertypes.OpenFileDownloadTarget): tmp_manager = objreg.get('temporary-downloads') - fobj = tmp_manager.get_tmpfile(suggested_filename) + try: + fobj = tmp_manager.get_tmpfile(suggested_filename) + except OSError as exc: + msg = "Download error: {}".format(exc) + message.error(self._win_id, msg) + download.cancel() + return download.finished.connect(download.open_file) download.autoclose = True download.set_fileobj(fobj)