diff --git a/plymouth-0.6.0-more-debug.patch b/plymouth-0.6.0-more-debug.patch index d840f74..0353c8f 100644 --- a/plymouth-0.6.0-more-debug.patch +++ b/plymouth-0.6.0-more-debug.patch @@ -1,6 +1,6 @@ diff -up plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug plymouth-0.6.0/src/libplybootsplash/ply-window.c ---- plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug 2008-11-07 12:08:25.000000000 -0500 -+++ plymouth-0.6.0/src/libplybootsplash/ply-window.c 2008-11-07 12:10:04.000000000 -0500 +--- plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug 2008-11-05 17:15:29.000000000 -0500 ++++ plymouth-0.6.0/src/libplybootsplash/ply-window.c 2008-11-07 13:49:47.000000000 -0500 @@ -493,7 +493,10 @@ ply_window_open (ply_window_t *window) window->vt_number = get_active_vt (); @@ -26,9 +26,17 @@ diff -up plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug plymouth-0. if (!ply_window_set_unbuffered_input (window)) ply_trace ("window '%s' will be line buffered", window->tty_name); diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c ---- plymouth-0.6.0/src/main.c.more-debug 2008-11-07 12:01:46.000000000 -0500 -+++ plymouth-0.6.0/src/main.c 2008-11-07 13:49:20.000000000 -0500 -@@ -78,6 +78,7 @@ static ply_window_t *create_window (stat +--- plymouth-0.6.0/src/main.c.more-debug 2008-11-07 13:49:47.000000000 -0500 ++++ plymouth-0.6.0/src/main.c 2008-11-10 00:27:02.000000000 -0500 +@@ -64,6 +64,7 @@ typedef struct + uint32_t showing_details : 1; + uint32_t system_initialized : 1; + uint32_t is_redirected : 1; ++ uint32_t is_attached : 1; + + char *console; + +@@ -78,6 +79,7 @@ static ply_window_t *create_window (stat static bool attach_to_running_session (state_t *state); static void on_escape_pressed (state_t *state); @@ -36,7 +44,7 @@ diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c static void on_session_output (state_t *state, -@@ -220,6 +221,8 @@ has_open_window (state_t *state) +@@ -220,6 +222,8 @@ has_open_window (state_t *state) { ply_list_node_t *node; @@ -45,7 +53,7 @@ diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c node = ply_list_get_first_node (state->windows); while (node != NULL) { -@@ -231,7 +234,22 @@ has_open_window (state_t *state) +@@ -231,7 +235,22 @@ has_open_window (state_t *state) window = ply_list_node_get_data (node); if (ply_window_is_open (window)) @@ -69,7 +77,7 @@ diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c node = next_node; } -@@ -324,11 +342,22 @@ close_windows (state_t *state) +@@ -324,10 +343,21 @@ close_windows (state_t *state) static void on_show_splash (state_t *state) { @@ -78,18 +86,31 @@ diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c open_windows (state); - if (!state->is_redirected && state->ptmx >= 0) +- state->is_redirected = attach_to_running_session (state); + has_window = has_open_window (state); + -+ if (!state->is_redirected && state->ptmx >= 0 && has_window) - state->is_redirected = attach_to_running_session (state); - -+ if (!has_window && state->is_redirected) ++ if (!state->is_attached && state->ptmx >= 0 && has_window) ++ state->is_attached = attach_to_running_session (state); ++ ++ if (!has_window && state->is_attached) + { + ply_trace ("no open windows, detaching session"); + ply_terminal_session_detach (state->session); -+ state->is_redirected = false; ++ state->is_attached = false; + } -+ + if (plymouth_should_show_default_splash (state)) show_default_splash (state); - else +@@ -581,10 +611,12 @@ attach_to_running_session (state_t *stat + ply_restore_errno (); + + state->is_redirected = false; ++ state->is_attached = false; + return false; + } + + state->is_redirected = should_be_redirected; ++ state->is_attached = true; + state->session = session; + + return true; diff --git a/plymouth.spec b/plymouth.spec index 2f9cbd9..dc147f3 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -5,7 +5,7 @@ Summary: Plymouth Graphical Boot Animation and Logger Name: plymouth Version: 0.6.0 -Release: 0.2008.11.06.3%{?dist} +Release: 0.2008.11.06.4%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 @@ -311,6 +311,10 @@ fi %defattr(-, root, root) %changelog +* Sun Nov 9 2008 Ray Strode 0.6.0-0.2008.11.06.4 +- Fix up more-debug patch to not assert with plymouth:nolog + (bug 470569) + * Fri Nov 7 2008 Ray Strode 0.6.0-0.2008.11.06.3 - add some more debug spew to help debug a problem jlaska is having