]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
[frame-buffer] default renderer to inactive
authorScott James Remnant <scott@ubuntu.com>
Thu, 18 Mar 2010 05:03:53 +0000 (05:03 +0000)
committerScott James Remnant <scott@ubuntu.com>
Thu, 18 Mar 2010 20:01:31 +0000 (20:01 +0000)
Change the renderer so that it defaults to inactive, then when we
map to the device, activate the renderer by activating the VT;
unless the VT is already active in which case activate the
renderer directly.

src/plugins/renderers/drm/plugin.c
src/plugins/renderers/frame-buffer/plugin.c

index 75c3927fa914a302a8b22758f2815076453f99ff..7bd181addc5eac1dab48b327758f3e1775d33f86 100644 (file)
@@ -820,9 +820,9 @@ map_to_device (ply_renderer_backend_t *backend)
     }
 
   if (ply_terminal_is_active (backend->terminal))
-      activate (backend);
+    activate (backend);
   else
-      ply_terminal_activate_vt (backend->terminal);
+    ply_terminal_activate_vt (backend->terminal);
 
   return head_mapped;
 }
index 570b21a9f1860191fe55a6b14722f825422ee5b0..d9f193b888b8e5f141c481687cc3911df314543d 100644 (file)
@@ -108,7 +108,7 @@ struct _ply_renderer_backend
   unsigned int bytes_per_pixel;
   unsigned int row_stride;
 
-  uint32_t is_inactive : 1;
+  uint32_t is_active : 1;
 
   void (* flush_area) (ply_renderer_backend_t *backend,
                        ply_renderer_head_t    *head,
@@ -305,7 +305,7 @@ destroy_backend (ply_renderer_backend_t *backend)
 static void
 activate (ply_renderer_backend_t *backend)
 {
-  backend->is_inactive = false;
+  backend->is_active = true;
 
   if (backend->head.map_address != MAP_FAILED)
     ply_renderer_head_redraw (backend, &backend->head);
@@ -314,7 +314,7 @@ activate (ply_renderer_backend_t *backend)
 static void
 deactivate (ply_renderer_backend_t *backend)
 {
-  backend->is_inactive = true;
+  backend->is_active = false;
 }
 
 static void
@@ -527,7 +527,10 @@ map_to_device (ply_renderer_backend_t *backend)
   if (head->map_address == MAP_FAILED)
     return false;
 
-  ply_terminal_activate_vt (backend->terminal);
+  if (ply_terminal_is_active (backend->terminal))
+    activate (backend);
+  else
+    ply_terminal_activate_vt (backend->terminal);
 
   return true;
 }
@@ -558,7 +561,7 @@ flush_head (ply_renderer_backend_t *backend,
   assert (backend != NULL);
   assert (&backend->head == head);
 
-  if (backend->is_inactive)
+  if (!backend->is_active)
     return;
 
   ply_terminal_set_mode (backend->terminal, PLY_TERMINAL_MODE_GRAPHICS);