gdm/gdm-2.21.9-dont-steal-all-keypresses.patch

60 lines
2.0 KiB
Diff
Raw Normal View History

--- gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (revision 5896)
+++ gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (working copy)
@@ -1325,10 +1325,21 @@ static gboolean
gdm_greeter_login_window_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
+ GdmGreeterLoginWindow *login_window;
+ gboolean capslock_on;
+
+ login_window = GDM_GREETER_LOGIN_WINDOW (widget);
+
if (event->keyval == GDK_Escape) {
reset_dialog (GDM_GREETER_LOGIN_WINDOW (widget));
}
+ capslock_on = is_capslock_on ();
+
+ if (capslock_on != login_window->priv->caps_lock_on) {
+ capslock_update (login_window, capslock_on);
+ }
+
return GTK_WIDGET_CLASS (gdm_greeter_login_window_parent_class)->key_press_event (widget, event);
}
@@ -1581,22 +1592,6 @@ gdm_greeter_login_window_class_init (Gdm
g_type_class_add_private (klass, sizeof (GdmGreeterLoginWindowPrivate));
}
-static gint
-window_key_press (GtkWidget *widget,
- GdkEventKey *event,
- GdmGreeterLoginWindow *login_window)
-{
- gboolean capslock_on;
-
- capslock_on = is_capslock_on ();
-
- if (capslock_on != login_window->priv->caps_lock_on) {
- capslock_update (login_window, capslock_on);
- }
-
- return TRUE;
-}
-
static void
on_gconf_key_changed (GConfClient *client,
guint cnxn_id,
@@ -1659,11 +1654,6 @@ gdm_greeter_login_window_init (GdmGreete
login_window,
NULL,
NULL);
-
- g_signal_connect (login_window, "key_press_event",
- G_CALLBACK (window_key_press),
- login_window);
-
}
static void