You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/mandriva/2010.2/dependencies/pinentry/0002-Fix-sigabrt-on-fail-gr...

36 lines
904 B

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;