]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
[renderer] Move VT switching to renderer plugins
authorRay Strode <rstrode@redhat.com>
Sat, 3 Oct 2009 03:37:02 +0000 (23:37 -0400)
committerRay Strode <rstrode@redhat.com>
Sun, 4 Oct 2009 14:45:36 +0000 (10:45 -0400)
Since not all renderer plugins should switch VTs we
do it from the individual plugins now.

src/libplybootsplash/ply-renderer.c
src/main.c
src/plugins/renderers/drm/plugin.c
src/plugins/renderers/frame-buffer/plugin.c

index 5410feb83921e052d8256cf1f2d189504f4ca2f5..dd64f0328c6f90623560c42133a6202b367310ee 100644 (file)
@@ -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);
 }
 
index d79b816ee5bda8112ef492a1d6d9dee34268d2b0..08ec1ae4e5446687f490a320b684e2c850e9c130 100644 (file)
@@ -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))
index 2c5e1aa9088271d3c5f80f263aabd96edda57e5a..05e36fa27acee482c80d1d0cbd9628b0643f5874 100644 (file)
@@ -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;
index 6f45b8f4264066757a083b7e853cfca5c3c838ea..0163daa081b34fa35f1000fa2fea12ee1c147c11 100644 (file)
@@ -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;