summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-05-22 09:36:14 +0200
committerFlorian Bruhin <git@the-compiler.org>2018-05-22 09:41:13 +0200
commit442bdd4a4f153c9c5b72834379e2ef7835181d91 (patch)
treeedfe0a060f900d6fe5a81673ddbf9572f78f7434
parent900efe4a3654b1f4b63ff9afffa29ab6f95bddda (diff)
downloadqutebrowser-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.py7
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py2
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py1
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()