[PATCH 17/21] [frame-buffer] default renderer to inactive
Scott James Remnant
scott at ubuntu.com
Wed Mar 17 22:03:53 PDT 2010
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 | 4 ++--
src/plugins/renderers/frame-buffer/plugin.c | 13 ++++++++-----
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/plugins/renderers/drm/plugin.c b/src/plugins/renderers/drm/plugin.c
index 75c3927..7bd181a 100644
--- a/src/plugins/renderers/drm/plugin.c
+++ b/src/plugins/renderers/drm/plugin.c
@@ -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;
}
diff --git a/src/plugins/renderers/frame-buffer/plugin.c b/src/plugins/renderers/frame-buffer/plugin.c
index 570b21a..d9f193b 100644
--- a/src/plugins/renderers/frame-buffer/plugin.c
+++ b/src/plugins/renderers/frame-buffer/plugin.c
@@ -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);
--
1.7.0
More information about the plymouth
mailing list