commit:     e4f640dacccb1a05bf1e2de62ed3f0f4fe66ee3b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 13 15:14:30 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 13 15:14:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4f640da

xfce-base/libxfce4ui: Backport keyboard shortcut dialog fix

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/libxfce4ui-4.15.3-kb-shortcut.patch      | 38 ++++++++++++++++++++++
 ...i-4.15.3.ebuild => libxfce4ui-4.15.3-r1.ebuild} |  4 +++
 2 files changed, 42 insertions(+)

diff --git a/xfce-base/libxfce4ui/files/libxfce4ui-4.15.3-kb-shortcut.patch 
b/xfce-base/libxfce4ui/files/libxfce4ui-4.15.3-kb-shortcut.patch
new file mode 100644
index 00000000000..bfce065fdef
--- /dev/null
+++ b/xfce-base/libxfce4ui/files/libxfce4ui-4.15.3-kb-shortcut.patch
@@ -0,0 +1,38 @@
+From 0fc934ebee037a91e032d362d83d991309c4ce88 Mon Sep 17 00:00:00 2001
+From: Harald Judt <[email protected]>
+Date: Sat, 4 Jul 2020 00:22:31 +0200
+Subject: [PATCH] Always return GTK_RESPONSE_OK for accepted shortcut keys
+ (fixes #20)
+
+Commit a41dcb19 replaced the deprecated gtk_keyboard_ungrab code but
+also erroneously put the gtk_dialog_response call inside the
+gdk_seat_grab check, while it should be inside the shortcut_accepted
+check. This commit restores the original logic, thus properly setting
+the accepted shortcut key and closing the dialog.
+
+Closes !4
+---
+ libxfce4kbd-private/xfce-shortcut-dialog.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libxfce4kbd-private/xfce-shortcut-dialog.c 
b/libxfce4kbd-private/xfce-shortcut-dialog.c
+index 427855a..ae9c195 100644
+--- a/libxfce4kbd-private/xfce-shortcut-dialog.c
++++ b/libxfce4kbd-private/xfce-shortcut-dialog.c
+@@ -424,10 +424,10 @@ xfce_shortcut_dialog_key_released (XfceShortcutDialog 
*dialog,
+                          TRUE, NULL, NULL, NULL, NULL))
+         {
+           gdk_seat_ungrab (seat);
+-
+-          /* Exit dialog with positive response */
+-          gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+         }
++
++      /* Exit dialog with positive response */
++      gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+     }
+   else
+     {
+-- 
+2.26.2
+

diff --git a/xfce-base/libxfce4ui/libxfce4ui-4.15.3.ebuild 
b/xfce-base/libxfce4ui/libxfce4ui-4.15.3-r1.ebuild
similarity index 96%
rename from xfce-base/libxfce4ui/libxfce4ui-4.15.3.ebuild
rename to xfce-base/libxfce4ui/libxfce4ui-4.15.3-r1.ebuild
index cddd13c8d5e..9d9f9229dd3 100644
--- a/xfce-base/libxfce4ui/libxfce4ui-4.15.3.ebuild
+++ b/xfce-base/libxfce4ui/libxfce4ui-4.15.3-r1.ebuild
@@ -33,6 +33,10 @@ BDEPEND="dev-lang/perl
        virtual/pkgconfig
        vala? ( $(vala_depend) )"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-kb-shortcut.patch
+)
+
 src_prepare() {
        # stupid vala.eclass...
        default

Reply via email to