diff options
author | Ray Strode <rstrode@redhat.com> | 2009-10-02 23:37:02 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2009-10-04 10:45:36 -0400 |
commit | a8676e2c08a6b07927d6deddb6d7bc4431ebba9c (patch) | |
tree | 9db90e81adb46e469d04045f696e2f92cc5336f5 | |
parent | a76c5bc4b74b4f552641ed2fa847f4387163b25a (diff) |
[renderer] Move VT switching to renderer plugins
Since not all renderer plugins should switch VTs we
do it from the individual plugins now.
-rw-r--r-- | src/libplybootsplash/ply-renderer.c | 4 | ||||
-rw-r--r-- | src/main.c | 3 | ||||
-rw-r--r-- | src/plugins/renderers/drm/plugin.c | 7 | ||||
-rw-r--r-- | src/plugins/renderers/frame-buffer/plugin.c | 7 |
4 files changed, 14 insertions, 7 deletions
diff --git a/src/libplybootsplash/ply-renderer.c b/src/libplybootsplash/ply-renderer.c index 5410feb8..dd64f032 100644 --- a/src/libplybootsplash/ply-renderer.c +++ b/src/libplybootsplash/ply-renderer.c @@ -299,10 +299,6 @@ ply_renderer_flush_head (ply_renderer_t *renderer, assert (renderer->plugin_interface != NULL); assert (head != NULL); - if (ply_console_get_active_vt (renderer->console) != - ply_terminal_get_vt_number (renderer->terminal)) - return; - renderer->plugin_interface->flush_head (renderer->backend, head); } @@ -989,9 +989,6 @@ add_default_displays_and_keyboard (state_t *state) return; } - ply_console_set_active_vt (state->console, - ply_terminal_get_vt_number (terminal)); - renderer = ply_renderer_new (NULL, terminal, state->console); if (!ply_renderer_open (renderer)) diff --git a/src/plugins/renderers/drm/plugin.c b/src/plugins/renderers/drm/plugin.c index 2c5e1aa9..05e36fa2 100644 --- a/src/plugins/renderers/drm/plugin.c +++ b/src/plugins/renderers/drm/plugin.c @@ -783,6 +783,9 @@ map_to_device (ply_renderer_backend_t *backend) node = next_node; } + ply_console_set_active_vt (backend->console, + ply_terminal_get_vt_number (backend->terminal)); + return head_mapped; } @@ -922,6 +925,10 @@ flush_head (ply_renderer_backend_t *backend, assert (backend != NULL); + if (ply_console_get_active_vt (backend->console) != + ply_terminal_get_vt_number (backend->terminal)) + return; + ply_console_set_mode (backend->console, PLY_CONSOLE_MODE_GRAPHICS); ply_terminal_set_unbuffered_input (backend->terminal); pixel_buffer = head->pixel_buffer; diff --git a/src/plugins/renderers/frame-buffer/plugin.c b/src/plugins/renderers/frame-buffer/plugin.c index 6f45b8f4..0163daa0 100644 --- a/src/plugins/renderers/frame-buffer/plugin.c +++ b/src/plugins/renderers/frame-buffer/plugin.c @@ -491,6 +491,9 @@ map_to_device (ply_renderer_backend_t *backend) initialize_head (backend, head); + ply_console_set_active_vt (backend->console, + ply_terminal_get_vt_number (backend->terminal)); + return true; } @@ -522,6 +525,10 @@ flush_head (ply_renderer_backend_t *backend, assert (backend != NULL); assert (&backend->head == head); + if (ply_console_get_active_vt (backend->console) != + ply_terminal_get_vt_number (backend->terminal)) + return; + ply_console_set_mode (backend->console, PLY_CONSOLE_MODE_GRAPHICS); ply_terminal_set_unbuffered_input (backend->terminal); pixel_buffer = head->pixel_buffer; |