git » qt5-base.git » commit 8c027cd

Fix keyboard input issues in webengine

author Antonio Rojas
2019-09-09 15:59:28 UTC
committer Antonio Rojas
2019-09-09 15:59:28 UTC
parent 1e159482723e85a00d680b07cddf6023885f0839

Fix keyboard input issues in webengine

PKGBUILD +7 -3
qtbug-77364.patch +12 -0

diff --git a/PKGBUILD b/PKGBUILD
index 223afcf..29dd723 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ pkgbase=qt5-base
 pkgname=(qt5-base qt5-xcb-private-headers)
 _qtver=5.13.1
 pkgver=${_qtver/-/}
-pkgrel=1
+pkgrel=2
 arch=('x86_64')
 url='https://www.qt.io'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -26,8 +26,10 @@ optdepends=('qt5-svg: to use SVG icon themes'
 conflicts=('qtchooser')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
-source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('110cd08cdacab26274bf2519d3508046616c0b638f0d2f5e00bc8bad87469eab')
+source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+        qtbug-77364.patch)
+sha256sums=('110cd08cdacab26274bf2519d3508046616c0b638f0d2f5e00bc8bad87469eab'
+            'dc742814ab0c1b63da5916d96e3ef01fa96007c385ed033ae5b3a8cd8608c119')
 
 prepare() {
   cd ${_pkgfqn}
@@ -38,6 +40,8 @@ prepare() {
     mkspecs/common/gcc-base.conf
   sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
     mkspecs/common/g++-unix.conf
+
+  patch -p1 -i ../qtbug-77364.patch # Fix keyboard input in webengine
 }
 
 build() {
diff --git a/qtbug-77364.patch b/qtbug-77364.patch
new file mode 100644
index 0000000..fd28481
--- /dev/null
+++ b/qtbug-77364.patch
@@ -0,0 +1,12 @@
+diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
+index 04290a4ce1..27773d5762 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);
+     }
+ }