diff options
author | Kristian Fiskerstrand <k_f@gentoo.org> | 2017-10-16 23:14:28 +0200 |
---|---|---|
committer | Kristian Fiskerstrand <k_f@gentoo.org> | 2017-10-16 23:14:43 +0200 |
commit | 2fabf9cabaf1f4bab9f924afa116d1c7d84680b9 (patch) | |
tree | 1f1f9631c6836129508f6ff8c4953188a0a6fb24 /app-crypt | |
parent | dev-perl/Params-ValidationCompiler: keyworded 0.240.0 for ia64, bug #633934 (diff) | |
download | gentoo-2fabf9cabaf1f4bab9f924afa116d1c7d84680b9.tar.gz gentoo-2fabf9cabaf1f4bab9f924afa116d1c7d84680b9.tar.bz2 gentoo-2fabf9cabaf1f4bab9f924afa116d1c7d84680b9.zip |
app-crypt/pinentry: Fix grabbing issue in awesomewm
Bug: https://bugs.gentoo.org/609678
Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'app-crypt')
-rw-r--r-- | app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch | 47 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch | 47 | ||||
-rw-r--r-- | app-crypt/pinentry/pinentry-1.0.0-r2.ebuild (renamed from app-crypt/pinentry/pinentry-1.0.0-r1.ebuild) | 2 |
3 files changed, 96 insertions, 0 deletions
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch b/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch new file mode 100644 index 000000000000..7724d1beae8c --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch @@ -0,0 +1,47 @@ +From 1590b664d88be8386a4664c2994b685187d1eb25 Mon Sep 17 00:00:00 2001 +From: Damien Goutte-Gattat <dgouttegattat@incenp.org> +Date: Thu, 3 Aug 2017 22:56:49 +0200 +Subject: [PATCH 1/6] gtk: Disable tooltips in keyboard-grabbing mode. + +* gtk+-2:/pinentry-gtk-2.c (show_hide_button): Do not show the +tooltip if we attempt to grab the keyboard. +(create_window): Likewise. +-- + +For unclear reasons, those tooltips may interfere with grabbing +under some tiling window managers. + +GnuPG-bug-id: 3297 +Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org> +--- + gtk+-2/pinentry-gtk-2.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c +index d467ec5..f17a702 100644 +--- a/gtk+-2/pinentry-gtk-2.c ++++ b/gtk+-2/pinentry-gtk-2.c +@@ -516,7 +516,10 @@ show_hide_button_toggled (GtkWidget *widget, gpointer data) + } + + gtk_label_set_markup (GTK_LABEL(label), text); +- gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip); ++ if (!pinentry->grab) ++ { ++ gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip); ++ } + g_free (tooltip); + } + +@@ -736,7 +739,7 @@ create_window (pinentry_t ctx) + gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar), + QUALITYBAR_EMPTY_TEXT); + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0); +- if (pinentry->quality_bar_tt) ++ if (pinentry->quality_bar_tt && !pinentry->grab) + { + #if !GTK_CHECK_VERSION (2, 12, 0) + gtk_tooltips_set_tip (GTK_TOOLTIPS (tooltips), qualitybar, +-- +2.13.6 + diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch b/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch new file mode 100644 index 000000000000..f7476de1ff67 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch @@ -0,0 +1,47 @@ +From b0e0bdeac5d40ca645afc9017778b39a26303523 Mon Sep 17 00:00:00 2001 +From: Werner Koch <wk@gnupg.org> +Date: Wed, 11 Jan 2017 18:40:17 +0100 +Subject: [PATCH 01/25] gtk2: Fix a problem with fvwm + +* gtk+-2/pinentry-gtk-2.c (grab_pointer): Take care of +GDK_GRAB_ALREADY_GRABBED. +-- + +Debian-bug-id: 850708 +Co-authored-by: Vincent Lefevre <vincent@vinc17.net> +Signed-off-by: Werner Koch <wk@gnupg.org> +--- + gtk+-2/pinentry-gtk-2.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c +index 473c4aa..e37601f 100644 +--- a/gtk+-2/pinentry-gtk-2.c ++++ b/gtk+-2/pinentry-gtk-2.c +@@ -203,7 +203,12 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) + (void)data; + + /* Change the cursor for the duration of the grab to indicate that +- something is going on. */ ++ * something is going on. The fvwm window manager grabs the pointer ++ * for a short time and thus we may end up with the already grabbed ++ * error code. Actually this error code should be used to detect a ++ * malicious grabbing application but with fvwm this renders ++ * Pinentry only unusable. Thus we try again several times also for ++ * that error code. See Debian bug 850708 for details. */ + /* XXX: It would be nice to have a key cursor, unfortunately there + is none readily available. */ + cursor = gdk_cursor_new_for_display (gtk_widget_get_display (win), +@@ -215,7 +220,8 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) + NULL /* confine to */, + cursor, + gdk_event_get_time (event)); +- while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE); ++ while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE ++ || err == GDK_GRAB_ALREADY_GRABBED)); + + if (err) + { +-- +2.13.6 + diff --git a/app-crypt/pinentry/pinentry-1.0.0-r1.ebuild b/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild index 23de2e2209d0..f26a7c9f5bc5 100644 --- a/app-crypt/pinentry/pinentry-1.0.0-r1.ebuild +++ b/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild @@ -50,6 +50,8 @@ DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) PATCHES=( "${FILESDIR}/${PN}-0.8.2-ncurses.patch" "${FILESDIR}/${P}-build.patch" + "${FILESDIR}/${P}-Disable-tooltips-in-keyboard-grabbing-mode.patch" + "${FILESDIR}/${P}-gtk2-Fix-a-problem-with-fvwm.patch" ) src_prepare() { |