From: Ray Strode Date: Thu, 30 Oct 2008 16:56:46 +0000 (-0400) Subject: Force windows to get closed on quit X-Git-Tag: 0.6.0~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fc5d6b5bd87761ca3a4b862454b83985b6aeee2;p=thirdparty%2Fplymouth.git Force windows to get closed on quit If plymouth was called with --retain-splash, the window wasn't getting closed which caused the tty to not get reset correctly. --- diff --git a/src/main.c b/src/main.c index 150e5156..d4286fcb 100644 --- a/src/main.c +++ b/src/main.c @@ -323,13 +323,10 @@ on_show_splash (state_t *state) } static void -on_hide_splash (state_t *state) +quit_splash (state_t *state) { - - ply_trace ("hiding boot splash"); if (state->boot_splash != NULL) { - ply_boot_splash_hide (state->boot_splash); ply_boot_splash_free (state->boot_splash); state->boot_splash = NULL; } @@ -350,6 +347,17 @@ on_hide_splash (state_t *state) } } +static void +on_hide_splash (state_t *state) +{ + + ply_trace ("hiding boot splash"); + if (state->boot_splash != NULL) + ply_boot_splash_hide (state->boot_splash); + + quit_splash (state); +} + #ifdef PLY_ENABLE_GDM_TRANSITION static void tell_gdm_to_transition (void) @@ -373,6 +381,8 @@ on_quit (state_t *state, { if (!retain_splash) on_hide_splash (state); + else + quit_splash (state); ply_boot_splash_free (state->boot_splash); state->boot_splash = NULL; }