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.
36 lines
904 B
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;
|
|
|