]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
[main] add deactivate_splash() function
authorScott James Remnant <scott@ubuntu.com>
Thu, 18 Mar 2010 20:38:13 +0000 (20:38 +0000)
committerRay Strode <rstrode@redhat.com>
Mon, 22 Mar 2010 03:15:07 +0000 (23:15 -0400)
To make it easier to alter the deactivate path, split into its own
function.

src/main.c

index 383cf4ab91815d94137b0f968ddd1df9a69a8cec..a7ad894eb425ebc7af8ccae2a88be10068a993da 100644 (file)
@@ -33,6 +33,7 @@
 #include <unistd.h>
 #include <wchar.h>
 #include <paths.h>
+#include <assert.h>
 
 #include <linux/kd.h>
 #include <linux/vt.h>
@@ -720,6 +721,25 @@ quit_program (state_t *state)
     }
 }
 
+static void
+deactivate_splash (state_t *state)
+{
+  assert (!state->is_inactive);
+
+  if (state->renderer != NULL)
+    {
+      ply_trace ("deactivating renderer");
+      ply_renderer_deactivate (state->renderer);
+    }
+
+  ply_trace ("quitting splash");
+  quit_splash (state);
+
+  ply_trigger_pull (state->deactivate_trigger, NULL);
+  state->deactivate_trigger = NULL;
+  state->is_inactive = true;
+}
+
 static void
 on_boot_splash_idle (state_t *state)
 {
@@ -744,18 +764,8 @@ on_boot_splash_idle (state_t *state)
     }
   else if (state->deactivate_trigger != NULL)
     {
-      if (state->renderer != NULL)
-        {
-          ply_trace ("deactivating renderer");
-          ply_renderer_deactivate (state->renderer);
-        }
-
-      ply_trace ("quitting splash");
-      quit_splash (state);
-
-      ply_trigger_pull (state->deactivate_trigger, NULL);
-      state->deactivate_trigger = NULL;
-      state->is_inactive = true;
+      ply_trace ("deactivating splash");
+      deactivate_splash (state);
     }
 }