diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index faa04b7ba..bdc7529a3 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -15,6 +15,17 @@ breaking changes (such as renamed commands) can happen in minor releases. // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +[[v3.6.4]] +v3.6.4 (unreleased) +------------------- + +Fixed +~~~~~ + +- datalist dropdowns not opening correctly on Wayland/Sway (#8831). + This was caused by an old workaround for a different QtWebEngine issue, + which is now disabled for QtWebEngine 6.6.3 and newer. + [[v3.6.3]] v3.6.3 (2025-11-30) ------------------- diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py index 2e6cc3a2c..db01e8613 100644 --- a/qutebrowser/browser/eventfilter.py +++ b/qutebrowser/browser/eventfilter.py @@ -10,7 +10,7 @@ from qutebrowser.qt.gui import QKeyEvent from qutebrowser.qt.widgets import QWidget from qutebrowser.config import config -from qutebrowser.utils import log, message, usertypes, qtutils +from qutebrowser.utils import log, message, usertypes, qtutils, version, utils from qutebrowser.keyinput import modeman, keyutils @@ -55,16 +55,16 @@ class ChildEventFilter(QObject): # - This is a child event filter on a tab (self._widget is not None) # - We find an old existing child which is a QQuickWidget and is # currently focused. - # - We're using QtWebEngine >= 6.4 (older versions are not affected) + # - We're using an affected QtWebEngine version children = [ c for c in self._widget.findChildren( QWidget, "", Qt.FindChildOption.FindDirectChildrenOnly) if c is not child and c.hasFocus() and c.metaObject() is not None and - c.metaObject().className() == "QQuickWidget" + c.metaObject().className() == "QQuickWidget" # Qt 6.4+ ] - if children: + if children and version.qtwebengine_versions().webengine < utils.VersionNumber(6, 6, 3): log.misc.debug("Focusing new child") child.setFocus()