From 112e4a1dad8108cc1f69bb9891599003e26d4c27 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sun, 5 Feb 2017 12:39:28 +0100 Subject: [PATCH] Use sip.assign for QAuthenticator if available Fixes #2171 --- qutebrowser/browser/webengine/webenginetab.py | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index dbc04e905..dba4bc96b 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -24,8 +24,10 @@ import functools +import sip from PyQt5.QtCore import pyqtSlot, Qt, QEvent, QPoint, QUrl, QTimer from PyQt5.QtGui import QKeyEvent, QIcon +from PyQt5.QtNetwork import QAuthenticator # pylint: disable=no-name-in-module,import-error,useless-suppression from PyQt5.QtWidgets import QApplication from PyQt5.QtWebEngineWidgets import (QWebEnginePage, QWebEngineScript, @@ -619,14 +621,17 @@ class WebEngineTab(browsertab.AbstractTab): url, authenticator, abort_on=[self.shutting_down, self.load_started]) if answer is None: - # WORKAROUND for - # https://www.riverbankcomputing.com/pipermail/pyqt/2016-December/038400.html - url_string = url.toDisplayString() - error_page = jinja.render( - 'error.html', - title="Error loading page: {}".format(url_string), - url=url_string, error="Authentication required", icon='') - self.set_html(error_page) + try: + sip.assign(authenticator, QAuthenticator()) + except NameError: + # WORKAROUND for + # https://www.riverbankcomputing.com/pipermail/pyqt/2016-December/038400.html + url_string = url.toDisplayString() + error_page = jinja.render( + 'error.html', + title="Error loading page: {}".format(url_string), + url=url_string, error="Authentication required", icon='') + self.set_html(error_page) def _connect_signals(self): view = self._widget