commit: a01453d34ae409ef1a3430a08c01b4633484a696 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Sat Sep 28 09:55:39 2019 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Sat Sep 28 09:55:55 2019 +0000 URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=a01453d3
dev-qt/qtwidgets: Fix focus widget issue Fixes keyboard input or rather lack thereof in qtwebengine based applications. Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> ...dgets-5.13.1-adjust-focus-widget-properly.patch | 34 ++++++++++++++++++++++ dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild | 2 ++ 2 files changed, 36 insertions(+) diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch b/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch new file mode 100644 index 00000000..6fdc0f2b --- /dev/null +++ b/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch @@ -0,0 +1,34 @@ +From 947883141d9d8b3079a8a21981ad8a5ce3c4798e Mon Sep 17 00:00:00 2001 +From: David Faure <[email protected]> +Date: Mon, 9 Sep 2019 18:12:26 +0200 +Subject: [PATCH] QWidget::setFocusProxy: adjust focus widget properly + +My commit 3e7463411e adjusted the focus widget by setting +QApplicationPrivate::focus_widget directly, while there is a method for +doing this properly, including setFocus_sys() and emitting signals. + +Fixes: QTBUG-77364 +Change-Id: I218acf7a9de39173d282ced46def4f65594f80b4 +Reviewed-by: Florian Bruhin <[email protected]> +Reviewed-by: Volker Hilsheimer <[email protected]> +Reviewed-by: Allan Sandfeld Jensen <[email protected]> +Reviewed-by: Shawn Rutledge <[email protected]> +--- + src/widgets/kernel/qwidget.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp +index 04290a4ce12..0fa59077449 100644 +--- a/src/widgets/kernel/qwidget.cpp ++++ b/src/widgets/kernel/qwidget.cpp +@@ -6446,7 +6446,7 @@ void QWidget::setFocusProxy(QWidget * w) + + if (changingAppFocusWidget) { + QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy(); +- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this; ++ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason); + } + } + +-- +2.16.3 diff --git a/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild index 85ceaa9c..677d210f 100644 --- a/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild +++ b/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild @@ -42,6 +42,8 @@ QT5_GENTOO_PRIVATE_CONFIG=( :widgets ) +PATCHES=( "${FILESDIR}/${P}-adjust-focus-widget-properly.patch" ) # QTBUG-77364 + src_configure() { local myconf=( -opengl $(usex gles2 es2 desktop)
