summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-05-17 14:21:14 +0200
committerFlorian Bruhin <git@the-compiler.org>2018-05-17 14:25:38 +0200
commitf8a78a0962835c149463d81601ecf2ac402e705c (patch)
tree32926e79944c4a03bd6997afa09ef560cd9c505c
parent60e8abaa89ada2e026e77e07bc20c3353c4c5986 (diff)
downloadqutebrowser-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.py16
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