diff options
author | Florian Bruhin <git@the-compiler.org> | 2018-05-17 14:21:14 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2018-05-17 14:25:38 +0200 |
commit | f8a78a0962835c149463d81601ecf2ac402e705c (patch) | |
tree | 32926e79944c4a03bd6997afa09ef560cd9c505c | |
parent | 60e8abaa89ada2e026e77e07bc20c3353c4c5986 (diff) | |
download | qutebrowser-f8a78a0962835c149463d81601ecf2ac402e705c.tar.gz qutebrowser-f8a78a0962835c149463d81601ecf2ac402e705c.zip |
Add workaround for the "split page" Qt bug (QTBUG-68224)
Fixes #3920
(cherry picked from commit 44d26f77a5007177a4a7df4c811b0b2cf084dbc6)
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 623ccc196..3b6bdf102 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -1048,6 +1048,22 @@ class WebEngineTab(browsertab.AbstractTab): @pyqtSlot(usertypes.NavigationRequest) def _on_navigation_request(self, navigation): super()._on_navigation_request(navigation) + + if qtutils.version_check('5.11.0', exact=True, compiled=False): + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68224 + layout = self._widget.layout() + count = layout.count() + if count > 1: + for i in range(count): + item = layout.itemAt(i) + if item is None: + continue + widget = item.widget() + if widget is not self._widget.focusProxy(): + log.webview.debug("Removing widget {} (QTBUG-68224)" + .format(widget)) + layout.removeWidget(widget) + if not navigation.accepted or not navigation.is_main_frame: return |