diff options
author | Daniel Schadt <kingdread@gmx.de> | 2016-08-02 00:46:59 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2016-08-02 16:17:05 +0200 |
commit | 3eba7fc314eb659d648763bcbd1e2c08019903e7 (patch) | |
tree | d4733ed4499774d2d5b48fb03b4d62ab2d20b22b | |
parent | 11d7486f97574d814245623584cd2f732fcad28c (diff) | |
download | qutebrowser-3eba7fc314eb659d648763bcbd1e2c08019903e7.tar.gz qutebrowser-3eba7fc314eb659d648763bcbd1e2c08019903e7.zip |
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.
-rw-r--r-- | qutebrowser/browser/webkit/downloads.py | 8 |
1 files changed, 7 insertions, 1 deletions
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) |