diff options
author | Ryan Farley <ryan.farley@gmx.com> | 2017-12-21 21:22:20 -0600 |
---|---|---|
committer | Ryan Farley <ryan.farley@gmx.com> | 2017-12-21 21:22:20 -0600 |
commit | 4a6c9ecc343ce86cf38a5189d7cab3e0fb6aa16b (patch) | |
tree | b78f217d980f5e613e1a779d4c30bdba6b43c093 | |
parent | d6c56b83a83d5616109b17b581372782bd50f35e (diff) | |
download | qutebrowser-4a6c9ecc343ce86cf38a5189d7cab3e0fb6aa16b.tar.gz qutebrowser-4a6c9ecc343ce86cf38a5189d7cab3e0fb6aa16b.zip |
only reroute load signals with Qt=5.10
This stops regressions on Qt<=5.9. It also reintroduces #3110, but
fixing #3110 was just a nice side effect rather than the main goal here.
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 0003dc1e6..e4b1c7d39 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -25,7 +25,7 @@ import html as html_utils import sip from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QEvent, QPoint, QPointF, - QUrl, QTimer) + QUrl, QTimer, QT_VERSION_STR) from PyQt5.QtGui import QKeyEvent from PyQt5.QtNetwork import QAuthenticator from PyQt5.QtWidgets import QApplication @@ -830,6 +830,7 @@ class WebEngineTab(browsertab.AbstractTab): page.windowCloseRequested.connect(self.window_close_requested) page.linkHovered.connect(self.link_hovered) + page.loadStarted.connect(self._on_load_started) page.certificate_error.connect(self._on_ssl_errors) page.authenticationRequired.connect(self._on_authentication_required) page.proxyAuthenticationRequired.connect( @@ -843,13 +844,20 @@ class WebEngineTab(browsertab.AbstractTab): self._on_render_process_terminated) view.iconChanged.connect(self.icon_changed) #WORKAROUND for https://bugreports.qt.io/browse/QTBUG-65223 - page.loadProgress.connect(self._on_load_progress_fake) - self.loadProgressFake.connect(self._on_load_progress) - page.loadStarted.connect(self._on_load_started) - self.loadFinishedFake.connect(self._on_history_trigger) - self.loadFinishedFake.connect(self._restore_zoom) - self.loadFinishedFake.connect(self._on_load_finished) - page.loadFinished.connect(self._on_load_finished_fake) + if QT_VERSION_STR.startswith('5.10'): + page.loadProgress.connect(self._on_load_progress_fake) + self.loadProgressFake.connect(self._on_load_progress) + self.loadFinishedFake.connect(self._on_history_trigger) + self.loadFinishedFake.connect(self._restore_zoom) + self.loadFinishedFake.connect(self._on_load_finished) + page.loadFinished.connect(self._on_load_finished_fake) + else: + #for older Qt versions which break with the above + page.loadProgress.connect(self._on_load_progress) + page.loadStarted.connect(self._on_load_started) + page.loadFinished.connect(self._on_history_trigger) + page.loadFinished.connect(self._restore_zoom) + page.loadFinished.connect(self._on_load_finished) def event_target(self): return self._widget.focusProxy() |