]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
main: don't show splash from cancel_pending_delayed_show
authorRay Strode <rstrode@redhat.com>
Wed, 5 Feb 2014 20:09:13 +0000 (15:09 -0500)
committerRay Strode <rstrode@redhat.com>
Wed, 5 Feb 2014 20:09:13 +0000 (15:09 -0500)
It was a weird to show something in a function called "cancel..show"

Instead move the logic to the one caller that actually needed that
functionality (on_ask_for_password)

src/main.c

index daa0436eb125e27f7b1cc17c7533de78fb420cca..c613bbca2d517547d2c6ffa16a5f2a37fab8c46b 100644 (file)
@@ -482,8 +482,6 @@ show_default_splash (state_t *state)
 static void
 cancel_pending_delayed_show (state_t *state)
 {
-  bool has_open_seats;
-
   if (isnan (state->splash_delay))
     return;
 
@@ -492,13 +490,6 @@ cancel_pending_delayed_show (state_t *state)
                                             show_splash,
                                             state);
   state->splash_delay = NAN;
-  has_open_seats = ply_device_manager_has_open_seats (state->device_manager);
-
-  if (state->is_shown && has_open_seats)
-    {
-      ply_trace ("splash delay cancelled, showing splash immediately");
-      show_splash (state);
-    }
 }
 
 static void
@@ -515,8 +506,21 @@ on_ask_for_password (state_t      *state,
        */
       if (state->is_shown)
         {
-          ply_trace ("splash still coming up, waiting a bit");
+          bool has_open_seats;
+
           cancel_pending_delayed_show (state);
+
+          has_open_seats = ply_device_manager_has_open_seats (state->device_manager);
+
+          if (has_open_seats)
+            {
+              ply_trace ("seats open now, showing splash immediately");
+              show_splash (state);
+            }
+          else
+            {
+              ply_trace ("splash still coming up, waiting a bit");
+            }
         }
       else
         {