summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gs-lock-plug.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gs-lock-plug.c b/src/gs-lock-plug.c
index 597728a..1619f6f 100644
--- a/src/gs-lock-plug.c
+++ b/src/gs-lock-plug.c
@@ -1874,6 +1874,15 @@ unlock_button_clicked (GtkButton *button,
}
static void
+entry_activate_handler (GtkEntry *entry,
+ GSLockPlug *plug)
+{
+ /* Disable input widget to prevent characters typed
+ * after Enter from being included in the password. */
+ gtk_widget_set_sensitive (GTK_WIDGET (entry), FALSE);
+}
+
+static void
cancel_button_clicked (GtkButton *button,
GSLockPlug *plug)
{
@@ -2198,6 +2207,9 @@ gs_lock_plug_init (GSLockPlug *plug)
/* button press handler used to inhibit popup menu */
g_signal_connect (plug->priv->auth_prompt_entry, "button_press_event",
G_CALLBACK (entry_button_press), NULL);
+ /* capture text on Enter before default button activation */
+ g_signal_connect (plug->priv->auth_prompt_entry, "activate",
+ G_CALLBACK (entry_activate_handler), plug);
gtk_entry_set_activates_default (GTK_ENTRY (plug->priv->auth_prompt_entry), TRUE);
gtk_entry_set_visibility (GTK_ENTRY (plug->priv->auth_prompt_entry), FALSE);