From 3bded60ba61f8494dbefb620e0906f3f92a0e55f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 16 Sep 2014 22:08:00 +0200 Subject: [PATCH] Prevent exceptions in NetworkManager::createRequest. --- qutebrowser/network/networkmanager.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/qutebrowser/network/networkmanager.py b/qutebrowser/network/networkmanager.py index 2e33f65a5..33852fffd 100644 --- a/qutebrowser/network/networkmanager.py +++ b/qutebrowser/network/networkmanager.py @@ -30,7 +30,7 @@ else: SSL_AVAILABLE = QSslSocket.supportsSsl() from qutebrowser.config import config -from qutebrowser.utils import message, log, usertypes +from qutebrowser.utils import message, log, usertypes, utils from qutebrowser.network import qutescheme, schemehandler @@ -113,6 +113,13 @@ class NetworkManager(QNetworkAccessManager): authenticator.realm()), mode=usertypes.PromptMode.user_pwd) self._fill_authenticator(authenticator, answer) + # WORKAROUND for: + # http://www.riverbankcomputing.com/pipermail/pyqt/2014-September/034806.html + # + # By returning False, we provoke a TypeError because of a wrong return + # type, which does *not* trigger a segfault but invoke our return handler + # immediately. + @utils.prevent_exceptions(False) def createRequest(self, op, req, outgoing_data): """Return a new QNetworkReply object.