]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
askpass: don't treat releases of Ret or Esc as presses.
authorSimon Tatham <anakin@pobox.com>
Sun, 17 May 2015 15:40:36 +0000 (16:40 +0100)
committerSimon Tatham <anakin@pobox.com>
Sun, 17 May 2015 15:40:36 +0000 (16:40 +0100)
Caused an embarrassing failure just now trying to run the test program
from a command prompt - I had Return still held down by the time it
started up, and my release of it immediately terminated input :-)

unix/gtkask.c

index 0f62e9b80418aa1f47e8e400bbcbac1d50323ca7..de1bd4b7d1d284e5ab7193e6a42c0083ef3923f1 100644 (file)
@@ -61,9 +61,9 @@ static int last_char_len(struct askpass_ctx *ctx)
 static gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
     struct askpass_ctx *ctx = (struct askpass_ctx *)data;
-    if (event->keyval == GDK_Return) {
+    if (event->keyval == GDK_Return && event->type == GDK_KEY_PRESS) {
         gtk_main_quit();
-    } else if (event->keyval == GDK_Escape) {
+    } else if (event->keyval == GDK_Escape && event->type == GDK_KEY_PRESS) {
         smemclr(ctx->passphrase, ctx->passsize);
         ctx->passphrase = NULL;
         gtk_main_quit();