]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
main: if deactivate when already deactivated return immediately
authorRay Strode <rstrode@redhat.com>
Thu, 1 Nov 2012 21:04:33 +0000 (17:04 -0400)
committerRay Strode <rstrode@redhat.com>
Thu, 1 Nov 2012 21:06:30 +0000 (17:06 -0400)
We were trying to ignore second deactivate requests, but
were instead crashing because we're trying to use a nullified
trigger.

This commit makes sure things don't go crashy when a user
does "plymouth deactivate" on an already deactivated plymouthd.

src/main.c

index 88e50025084fb8967637c7e3ef63748b35765b5c..60ca28f5fc98c6203787780ac68f30887d197db1 100644 (file)
@@ -1135,7 +1135,13 @@ static void
 on_deactivate (state_t       *state,
                ply_trigger_t *deactivate_trigger)
 {
-  if ((state->deactivate_trigger != NULL) || state->is_inactive)
+  if (state->is_inactive)
+    {
+      ply_trigger_pull (deactivate_trigger, NULL);
+      return;
+    }
+
+  if (state->deactivate_trigger != NULL)
     {
       ply_trigger_add_handler (state->deactivate_trigger,
                                (ply_trigger_handler_t)