Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 6655f61dd9e5f86df428ddfb996193f7 > files > 2

gnome-screensaver-2.16.1-8.el5_5.2.src.rpm

diff -up gnome-screensaver-2.16.1/src/gnome-screensaver-dialog.c.dont-stall gnome-screensaver-2.16.1/src/gnome-screensaver-dialog.c
--- gnome-screensaver-2.16.1/src/gnome-screensaver-dialog.c.dont-stall	2010-11-23 15:42:17.034667540 -0500
+++ gnome-screensaver-2.16.1/src/gnome-screensaver-dialog.c	2010-11-23 15:50:00.934467968 -0500
@@ -209,6 +209,7 @@ auth_message_handler (GSAuthMessageStyle
                       gpointer           data)
 {
         gboolean    ret;
+        gboolean    asked_question;
         GSLockPlug *plug;
 	const char *message;
 
@@ -229,6 +230,7 @@ auth_message_handler (GSAuthMessageStyle
                 if (msg != NULL) {
                         char *resp;
                         resp = request_response (plug, message, TRUE);
+                        asked_question = TRUE;
                         *response = resp;
                 }
                 break;
@@ -236,25 +238,30 @@ auth_message_handler (GSAuthMessageStyle
                 if (msg != NULL) {
                         char *resp;
                         resp = request_response (plug, message, FALSE);
+                        asked_question = TRUE;
                         *response = resp;
                 }
                 break;
         case GS_AUTH_MESSAGE_ERROR_MSG:
                 gs_lock_plug_show_message (plug, message);
+                asked_question = FALSE;
                 break;
         case GS_AUTH_MESSAGE_TEXT_INFO:
                 gs_lock_plug_show_message (plug, message);
+                asked_question = FALSE;
                 break;
         default:
                 g_assert_not_reached ();
         }
 
-        if (*response == NULL) {
-                gs_debug ("Got no response");
-                ret = FALSE;
-        } else {
-                gs_lock_plug_show_message (plug, _("Checking..."));
-                gs_lock_plug_set_sensitive (plug, FALSE);
+        if (asked_question) {
+                if (*response == NULL) {
+                        gs_debug ("Got no response");
+                        ret = FALSE;
+                } else {
+                        gs_lock_plug_show_message (plug, _("Checking..."));
+                        gs_lock_plug_set_sensitive (plug, FALSE);
+                }
         }
 
         /* we may have pending events that should be processed before continuing back into PAM */
@@ -262,7 +269,9 @@ auth_message_handler (GSAuthMessageStyle
                 gtk_main_iteration ();
         }
 
-	gs_lock_plug_set_busy (plug);
+        if (asked_question) {
+                gs_lock_plug_set_busy (plug);
+        }
         gs_profile_end (NULL);
 
         return ret;
diff -up gnome-screensaver-2.16.1/src/gs-auth-pam.c.dont-stall gnome-screensaver-2.16.1/src/gs-auth-pam.c