From 1e5172663b50f5c62420355f55142da827ee7dc3 Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky Date: Apr 27 2010 08:57:22 +0000 Subject: pinentry-gtk 0.8.0 also fixes pinentry-gtk keyboard grab fail results in SIGABRT (#585422) --- diff --git a/.cvsignore b/.cvsignore index db2a5f7..ec214b6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -pinentry-0.7.6.tar.gz -pinentry-0.7.6.tar.gz.sig +pinentry-0.8.0.tar.gz +pinentry-0.8.0.tar.gz.sig diff --git a/0002-Fix-sigabrt-on-fail-grab-r229.patch b/0002-Fix-sigabrt-on-fail-grab-r229.patch new file mode 100644 index 0000000..2436ce9 --- /dev/null +++ b/0002-Fix-sigabrt-on-fail-grab-r229.patch @@ -0,0 +1,34 @@ +Index: gtk+-2/pinentry-gtk-2.c +=================================================================== +--- gtk+-2/pinentry-gtk-2.c (revision 228) ++++ gtk+-2/pinentry-gtk-2.c (revision 229) +@@ -52,6 +52,7 @@ + #endif + + static pinentry_t pinentry; ++static int grab_failed; + static int passphrase_ok; + typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; + static confirm_value_t confirm_value; +@@ -135,7 +136,11 @@ + return; + + if (gdk_keyboard_grab (win->window, FALSE, gdk_event_get_time (event))) +- g_error ("could not grab keyboard"); ++ { ++ g_critical ("could not grab keyboard"); ++ grab_failed = 1; ++ gtk_main_quit (); ++ } + } + + +@@ -520,7 +525,7 @@ + while (gtk_events_pending ()) + gtk_main_iteration (); + +- if (confirm_value == CONFIRM_CANCEL) ++ if (confirm_value == CONFIRM_CANCEL || grab_failed) + pe->canceled = 1; + + pinentry = NULL; diff --git a/pinentry.spec b/pinentry.spec index 671bfe2..073f933 100644 --- a/pinentry.spec +++ b/pinentry.spec @@ -9,8 +9,8 @@ %endif Name: pinentry -Version: 0.7.6 -Release: 5%{?dist} +Version: 0.8.0 +Release: 1%{?dist} Summary: Collection of simple PIN or passphrase entry dialogs Group: Applications/System @@ -23,9 +23,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # borrowed from opensuse Source10: pinentry-wrapper -## Upstreamable patches -# from gpa-devel list, archives seem 404'd atm +## Backported patches from SVN Patch50: 0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch +Patch51: 0002-Fix-sigabrt-on-fail-grab-r229.patch BuildRequires: gtk2-devel BuildRequires: libcap-devel @@ -88,6 +88,7 @@ Support for Qt4 is new, and a bit experimental. %setup -q %patch50 -p1 -b .rhbug_520236 +%patch51 -p0 -b .rhbug_585422 # hack around auto* madness, lack of proper support for moc %if %{?_enable_pinentry_qt4:1} @@ -171,6 +172,10 @@ fi %changelog +* Tue Apr 27 2010 Stanislav Ochotnicky - 0.8.0-1 +- pinentry-0.8.0 +- pinentry-gtk keyboard grab fail results in SIGABRT (#585422) + * Sun Apr 18 2010 Rex Dieter - 0.7.6-5 - pinentry-gtk -g segfaults on focus change (#520236) diff --git a/sources b/sources index cba1512..0652bb1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -5a4f676375fa882009da02013d77210f pinentry-0.7.6.tar.gz -36cd76923724de5d10830346f4b0f915 pinentry-0.7.6.tar.gz.sig +590be1b00f9ab63205843c7fed8caf35 pinentry-0.8.0.tar.gz +12467655a6ba5188c5204f2fbe7f4015 pinentry-0.8.0.tar.gz.sig