From 07e799acff19da6d48a43c3cf0e514718711cda9 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 27 Jun 2014 16:57:39 +0200 Subject: [PATCH] Disable messagehandler workaround on recent enough PyQt versions --- qutebrowser/network/networkmanager.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/qutebrowser/network/networkmanager.py b/qutebrowser/network/networkmanager.py index 66e87f16b..4f7479a56 100644 --- a/qutebrowser/network/networkmanager.py +++ b/qutebrowser/network/networkmanager.py @@ -19,7 +19,7 @@ """Our own QNetworkAccessManager.""" -from PyQt5.QtCore import pyqtSlot +from PyQt5.QtCore import pyqtSlot, PYQT_VERSION from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply try: @@ -142,17 +142,17 @@ class NetworkManager(QNetworkAccessManager): if accept_language is not None: req.setRawHeader('Accept-Language'.encode('ascii'), accept_language.encode('ascii')) - with log.disable_qt_msghandler(): - # If we don't disable our message handler, we get a freeze on - # http://ch.mouser.com/localsites/ when clicking on a currency. + if PYQT_VERSION < 0x050301: + # If we don't disable our message handler, we get a freeze if a + # warning is printed due to a PyQt bug, e.g. when clicking a + # currency on http://ch.mouser.com/localsites/ # - # FIXME: Open questions: + # See http://www.riverbankcomputing.com/pipermail/pyqt/2014-June/034420.html # - # - Shouldn't QtWebPage set the content-type correctly by - # itself? - # - # - Why does Qt freeze if we don't disable our message - # handler? + # FIXME: Check if this is really fixed in 5.3.1. + with log.disable_qt_msghandler(): + reply = super().createRequest(op, req, outgoing_data) + else: reply = super().createRequest(op, req, outgoing_data) self._requests.append(reply) reply.destroyed.connect(lambda obj: self._requests.remove(obj))