diff options
author | Florian Bruhin <git@the-compiler.org> | 2018-05-22 09:36:14 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2018-05-22 09:41:13 +0200 |
commit | 442bdd4a4f153c9c5b72834379e2ef7835181d91 (patch) | |
tree | edfe0a060f900d6fe5a81673ddbf9572f78f7434 | |
parent | 900efe4a3654b1f4b63ff9afffa29ab6f95bddda (diff) | |
download | qutebrowser-442bdd4a4f153c9c5b72834379e2ef7835181d91.tar.gz qutebrowser-442bdd4a4f153c9c5b72834379e2ef7835181d91.zip |
Properly work around Qt 5.11 keyboard focus issues
Please let this be the last attempt... :D
Fixes #3939
Supersedes #3921
Reverts ae295a7f652ed851ac8b258aa10500d72e6a52b6
See #3661
This should not regress #3872. Might affect #3834 in some way.
(cherry picked from commit 71ad8bdb47a4cd6a8321eb189533741ef6f806a4)
-rw-r--r-- | qutebrowser/browser/mouse.py | 7 | ||||
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 2 | ||||
-rw-r--r-- | qutebrowser/mainwindow/tabbedbrowser.py | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/qutebrowser/browser/mouse.py b/qutebrowser/browser/mouse.py index 16a7f227e..43d234322 100644 --- a/qutebrowser/browser/mouse.py +++ b/qutebrowser/browser/mouse.py @@ -22,7 +22,7 @@ from PyQt5.QtCore import QObject, QEvent, Qt, QTimer from qutebrowser.config import config -from qutebrowser.utils import message, log, usertypes +from qutebrowser.utils import message, log, usertypes, qtutils from qutebrowser.keyinput import modeman @@ -54,6 +54,11 @@ class ChildEventFilter(QObject): obj, child)) assert obj is self._widget child.installEventFilter(self._filter) + + if qtutils.version_check('5.11', compiled=False, exact=True): + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 + QTimer.singleShot(0, self._widget.setFocus) + return False diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 56bf197ec..a7b1446e1 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -780,8 +780,6 @@ class WebEngineTab(browsertab.AbstractTab): url: The QUrl to open. predict: If set to False, predicted_navigation is not emitted. """ - # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 - self._widget.setFocus() self._saved_zoom = self.zoom.factor() self._openurl_prepare(url, predict=predict) self._widget.load(url) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index 2d674e280..a35e8d7ef 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -490,6 +490,7 @@ class TabbedBrowser(QWidget): else: self.widget.setCurrentWidget(tab) # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 + # Still seems to be needed with Qt 5.11.1 tab.setFocus() tab.show() |