From 44d26f77a5007177a4a7df4c811b0b2cf084dbc6 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 17 May 2018 14:21:14 +0200 Subject: [PATCH] Add workaround for the "split page" Qt bug (QTBUG-68224) Fixes #3920 --- qutebrowser/browser/webengine/webenginetab.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index fb04dc120..672675b9e 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -1057,6 +1057,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