gdm r5740 - in trunk: . gui/simple-greeter



Author: halfline
Date: Fri Feb  8 21:32:11 2008
New Revision: 5740
URL: http://svn.gnome.org/viewvc/gdm?rev=5740&view=rev

Log:
2008-02-08  Ray Strode  <rstrode redhat com>

	* gui/simple-greeter/gdm-greeter-session.c
	(gdm_greeter_session_event_handler):
	If a mnemonic is successfully applied to a window
	then focus that window (since often activating
	a mnemonic implies setting the focus widget for
	the window to the activated widget)


Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-greeter-session.c

Modified: trunk/gui/simple-greeter/gdm-greeter-session.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-session.c	(original)
+++ trunk/gui/simple-greeter/gdm-greeter-session.c	Fri Feb  8 21:32:11 2008
@@ -618,18 +618,28 @@
 gdm_greeter_session_event_handler(GdkEvent          *event,
                                   GdmGreeterSession *session)
 {
+        g_assert (GDM_IS_GREETER_SESSION (session));
+
         if (event->type == GDK_KEY_PRESS) {
-                if (session->priv->panel != NULL &&
-                    gtk_window_activate_key (GTK_WINDOW (session->priv->panel),
-                                             ((GdkEventKey *) event))) {
+                GdkEventKey *key_event;
 
-                        return;
+                key_event = (GdkEventKey *) event;
+                if (session->priv->panel != NULL) {
+                        if (gtk_window_activate_key (GTK_WINDOW (session->priv->panel),
+                                                     key_event)) {
+                                gtk_window_present_with_time (GTK_WINDOW (session->priv->panel),
+                                                              key_event->time);
+                                return;
+                        }
                 }
 
-                if (session->priv->login_window != NULL &&
-                    gtk_window_activate_key (GTK_WINDOW (session->priv->login_window),
-                                             ((GdkEventKey *) event))) {
-                        return;
+                if (session->priv->login_window != NULL) {
+                        if (gtk_window_activate_key (GTK_WINDOW (session->priv->login_window),
+                                                     ((GdkEventKey *) event))) {
+                                gtk_window_present_with_time (GTK_WINDOW (session->priv->login_window),
+                                                              key_event->time);
+                                return;
+                        }
                 }
         }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]