forked from rpms/plymouth
- Fix up more-debug patch to not assert with plymouth:nolog (bug 470569)
This commit is contained in:
parent
aa10f6eec6
commit
6acfbf4a80
@ -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
|
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.more-debug 2008-11-05 17:15:29.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 2008-11-07 13:49:47.000000000 -0500
|
||||||
@@ -493,7 +493,10 @@ ply_window_open (ply_window_t *window)
|
@@ -493,7 +493,10 @@ ply_window_open (ply_window_t *window)
|
||||||
window->vt_number = get_active_vt ();
|
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))
|
if (!ply_window_set_unbuffered_input (window))
|
||||||
ply_trace ("window '%s' will be line buffered", window->tty_name);
|
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
|
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.more-debug 2008-11-07 13:49:47.000000000 -0500
|
||||||
+++ plymouth-0.6.0/src/main.c 2008-11-07 13:49:20.000000000 -0500
|
+++ plymouth-0.6.0/src/main.c 2008-11-10 00:27:02.000000000 -0500
|
||||||
@@ -78,6 +78,7 @@ static ply_window_t *create_window (stat
|
@@ -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 bool attach_to_running_session (state_t *state);
|
||||||
static void on_escape_pressed (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
|
static void
|
||||||
on_session_output (state_t *state,
|
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;
|
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);
|
node = ply_list_get_first_node (state->windows);
|
||||||
while (node != NULL)
|
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);
|
window = ply_list_node_get_data (node);
|
||||||
|
|
||||||
if (ply_window_is_open (window))
|
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;
|
node = next_node;
|
||||||
}
|
}
|
||||||
@@ -324,11 +342,22 @@ close_windows (state_t *state)
|
@@ -324,10 +343,21 @@ close_windows (state_t *state)
|
||||||
static void
|
static void
|
||||||
on_show_splash (state_t *state)
|
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);
|
open_windows (state);
|
||||||
|
|
||||||
- if (!state->is_redirected && state->ptmx >= 0)
|
- if (!state->is_redirected && state->ptmx >= 0)
|
||||||
|
- state->is_redirected = attach_to_running_session (state);
|
||||||
+ has_window = has_open_window (state);
|
+ has_window = has_open_window (state);
|
||||||
+
|
+
|
||||||
+ if (!state->is_redirected && state->ptmx >= 0 && has_window)
|
+ if (!state->is_attached && state->ptmx >= 0 && has_window)
|
||||||
state->is_redirected = attach_to_running_session (state);
|
+ state->is_attached = attach_to_running_session (state);
|
||||||
|
+
|
||||||
+ if (!has_window && state->is_redirected)
|
+ if (!has_window && state->is_attached)
|
||||||
+ {
|
+ {
|
||||||
+ ply_trace ("no open windows, detaching session");
|
+ ply_trace ("no open windows, detaching session");
|
||||||
+ ply_terminal_session_detach (state->session);
|
+ ply_terminal_session_detach (state->session);
|
||||||
+ state->is_redirected = false;
|
+ state->is_attached = false;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
if (plymouth_should_show_default_splash (state))
|
if (plymouth_should_show_default_splash (state))
|
||||||
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;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
Summary: Plymouth Graphical Boot Animation and Logger
|
Summary: Plymouth Graphical Boot Animation and Logger
|
||||||
Name: plymouth
|
Name: plymouth
|
||||||
Version: 0.6.0
|
Version: 0.6.0
|
||||||
Release: 0.2008.11.06.3%{?dist}
|
Release: 0.2008.11.06.4%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
|
Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
|
||||||
@ -311,6 +311,10 @@ fi
|
|||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Nov 9 2008 Ray Strode <rstrode@redhat.com> 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 <rstrode@redhat.com> 0.6.0-0.2008.11.06.3
|
* Fri Nov 7 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.3
|
||||||
- add some more debug spew to help debug a problem jlaska is having
|
- add some more debug spew to help debug a problem jlaska is having
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user