From 2fc1612bd4c3698edab80115836aa9c23bde3e42 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 9 Nov 2015 22:45:51 +0100 Subject: [PATCH] Fix removing of automatic downloads w/ -1 timeout. With ui -> remove-finished-downloads set to -1, when a download was started with auto_remove=True (like with :adblock-update), there was a QTimer set up with timeout -1, which causes this instead of doing something sane: WARNING: QTimer::singleShot: Timers cannot have negative timeouts --- qutebrowser/browser/downloads.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py index 70760acb5..e87b3e3a2 100644 --- a/qutebrowser/browser/downloads.py +++ b/qutebrowser/browser/downloads.py @@ -793,10 +793,15 @@ class DownloadManager(QAbstractListModel): download = DownloadItem(reply, self._win_id, self) download.cancelled.connect( functools.partial(self.remove_item, download)) + delay = config.get('ui', 'remove-finished-downloads') - if delay > -1 or auto_remove: + if delay > -1: download.finished.connect( functools.partial(self.remove_item_delayed, download, delay)) + elif auto_remove: + download.finished.connect( + functools.partial(self.remove_item, download)) + download.data_changed.connect( functools.partial(self.on_data_changed, download)) download.error.connect(self.on_error)