From: Scott James Remnant Date: Thu, 18 Mar 2010 20:29:05 +0000 (+0000) Subject: [main] fix bug with multiple quit commands X-Git-Tag: 0.8.0~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ca85f9ab3d36647bf420eae3a2d3ac7a98dd4cd;p=thirdparty%2Fplymouth.git [main] fix bug with multiple quit commands Likewise if plymouth quit is called when we're waiting for the boot splash to become idle, we also end up asserting that there's not already an idle trigger. Fix it in the same way as deactive, ignore the second quit command except for pulling its trigger. --- diff --git a/src/main.c b/src/main.c index bb8ab4f4..f914a371 100644 --- a/src/main.c +++ b/src/main.c @@ -786,15 +786,20 @@ on_quit (state_t *state, bool retain_splash, ply_trigger_t *quit_trigger) { + if (state->quit_trigger != NULL) + { + ply_trigger_pull (quit_trigger, NULL); + return; + } + + state->quit_trigger = quit_trigger; + state->should_retain_splash = retain_splash; + ply_trace ("time to quit, closing log"); if (state->session != NULL) ply_terminal_session_close_log (state->session); ply_trace ("unloading splash"); - state->should_retain_splash = retain_splash; - - state->quit_trigger = quit_trigger; - if (state->boot_splash != NULL) { ply_boot_splash_become_idle (state->boot_splash,