65 lines
2.3 KiB
Diff
65 lines
2.3 KiB
Diff
|
diff -up plymouth-0.6.0/src/main.c.fix-switchroot-failed plymouth-0.6.0/src/main.c
|
||
|
--- plymouth-0.6.0/src/main.c.fix-switchroot-failed 2008-11-06 10:43:41.000000000 -0500
|
||
|
+++ plymouth-0.6.0/src/main.c 2008-11-06 18:12:51.000000000 -0500
|
||
|
@@ -77,6 +77,7 @@ static ply_window_t *create_window (stat
|
||
|
const char *tty_name);
|
||
|
|
||
|
static bool attach_to_running_session (state_t *state);
|
||
|
+static void on_escape_pressed (state_t *state);
|
||
|
|
||
|
static void
|
||
|
on_session_output (state_t *state,
|
||
|
@@ -171,8 +172,11 @@ on_newroot (state_t *state,
|
||
|
chdir(root_dir);
|
||
|
chroot(".");
|
||
|
chdir("/");
|
||
|
- ply_progress_load_cache (state->progress);
|
||
|
- ply_boot_splash_root_mounted (state->boot_splash);
|
||
|
+ if (state->boot_splash != NULL)
|
||
|
+ {
|
||
|
+ ply_progress_load_cache (state->progress);
|
||
|
+ ply_boot_splash_root_mounted (state->boot_splash);
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
@@ -356,6 +360,8 @@ on_hide_splash (state_t *state)
|
||
|
{
|
||
|
|
||
|
ply_trace ("hiding boot splash");
|
||
|
+ state->showing_details = false;
|
||
|
+ on_escape_pressed (state);
|
||
|
if (state->boot_splash != NULL)
|
||
|
ply_boot_splash_hide (state->boot_splash);
|
||
|
|
||
|
@@ -384,11 +390,12 @@ on_quit (state_t *state,
|
||
|
if (state->boot_splash != NULL)
|
||
|
{
|
||
|
if (!retain_splash)
|
||
|
- on_hide_splash (state);
|
||
|
- else
|
||
|
- quit_splash (state);
|
||
|
- ply_boot_splash_free (state->boot_splash);
|
||
|
- state->boot_splash = NULL;
|
||
|
+ {
|
||
|
+ if (state->boot_splash != NULL)
|
||
|
+ ply_boot_splash_hide (state->boot_splash);
|
||
|
+ }
|
||
|
+
|
||
|
+ quit_splash (state);
|
||
|
}
|
||
|
ply_trace ("exiting event loop");
|
||
|
ply_event_loop_exit (state->loop, 0);
|
||
|
diff -up plymouth-0.6.0/src/plugins/splash/details/plugin.c.fix-switchroot-failed plymouth-0.6.0/src/plugins/splash/details/plugin.c
|
||
|
--- plymouth-0.6.0/src/plugins/splash/details/plugin.c.fix-switchroot-failed 2008-11-06 18:25:43.000000000 -0500
|
||
|
+++ plymouth-0.6.0/src/plugins/splash/details/plugin.c 2008-11-06 18:25:47.000000000 -0500
|
||
|
@@ -231,8 +231,6 @@ static void
|
||
|
uninitialize_window (ply_window_t *window,
|
||
|
ply_boot_splash_plugin_t *plugin)
|
||
|
{
|
||
|
- ply_window_clear_screen (window);
|
||
|
-
|
||
|
ply_window_set_keyboard_input_handler (window, NULL, NULL);
|
||
|
ply_window_set_backspace_handler (window, NULL, NULL);
|
||
|
ply_window_set_enter_handler (window, NULL, NULL);
|