summaryrefslogtreecommitdiff
path: root/src/libplybootsplash
diff options
context:
space:
mode:
Diffstat (limited to 'src/libplybootsplash')
-rw-r--r--src/libplybootsplash/ply-boot-splash.c10
-rw-r--r--src/libplybootsplash/ply-console.c12
-rw-r--r--src/libplybootsplash/ply-console.h4
-rw-r--r--src/libplybootsplash/ply-renderer.c5
4 files changed, 17 insertions, 14 deletions
diff --git a/src/libplybootsplash/ply-boot-splash.c b/src/libplybootsplash/ply-boot-splash.c
index 72ee7f02..5ba1bc1d 100644
--- a/src/libplybootsplash/ply-boot-splash.c
+++ b/src/libplybootsplash/ply-boot-splash.c
@@ -169,8 +169,14 @@ on_keyboard_input (ply_boot_splash_t *splash,
169 case KEY_CTRL_T: 169 case KEY_CTRL_T:
170 ply_trace ("toggle text mode!"); 170 ply_trace ("toggle text mode!");
171 splash->should_force_text_mode = !splash->should_force_text_mode; 171 splash->should_force_text_mode = !splash->should_force_text_mode;
172 ply_console_force_text_mode (splash->console, 172
173 splash->should_force_text_mode); 173 if (splash->should_force_text_mode)
174 {
175 ply_console_set_mode (splash->console, PLY_CONSOLE_MODE_TEXT);
176 ply_console_ignore_mode_changes (splash->console, true);
177 }
178 else
179 ply_console_ignore_mode_changes (splash->console, false);
174 ply_trace ("text mode toggled!"); 180 ply_trace ("text mode toggled!");
175 return; 181 return;
176 182
diff --git a/src/libplybootsplash/ply-console.c b/src/libplybootsplash/ply-console.c
index 7fb92980..fb5a86db 100644
--- a/src/libplybootsplash/ply-console.c
+++ b/src/libplybootsplash/ply-console.c
@@ -68,7 +68,7 @@ struct _ply_console
68 68
69 uint32_t is_open : 1; 69 uint32_t is_open : 1;
70 uint32_t is_watching_for_vt_changes : 1; 70 uint32_t is_watching_for_vt_changes : 1;
71 uint32_t should_force_text_mode : 1; 71 uint32_t should_ignore_mode_changes : 1;
72}; 72};
73 73
74static bool ply_console_open_device (ply_console_t *console); 74static bool ply_console_open_device (ply_console_t *console);
@@ -106,8 +106,8 @@ ply_console_set_mode (ply_console_t *console,
106 assert (console != NULL); 106 assert (console != NULL);
107 assert (mode == PLY_CONSOLE_MODE_TEXT || mode == PLY_CONSOLE_MODE_GRAPHICS); 107 assert (mode == PLY_CONSOLE_MODE_TEXT || mode == PLY_CONSOLE_MODE_GRAPHICS);
108 108
109 if (console->should_force_text_mode) 109 if (console->should_ignore_mode_changes)
110 mode = PLY_CONSOLE_MODE_TEXT; 110 return;
111 111
112 switch (mode) 112 switch (mode)
113 { 113 {
@@ -124,10 +124,10 @@ ply_console_set_mode (ply_console_t *console,
124} 124}
125 125
126void 126void
127ply_console_force_text_mode (ply_console_t *console, 127ply_console_ignore_mode_changes (ply_console_t *console,
128 bool should_force) 128 bool should_ignore)
129{ 129{
130 console->should_force_text_mode = should_force; 130 console->should_ignore_mode_changes = should_ignore;
131} 131}
132 132
133static void 133static void
diff --git a/src/libplybootsplash/ply-console.h b/src/libplybootsplash/ply-console.h
index 36263bbc..4b45c86e 100644
--- a/src/libplybootsplash/ply-console.h
+++ b/src/libplybootsplash/ply-console.h
@@ -49,8 +49,8 @@ void ply_console_close (ply_console_t *console);
49void ply_console_set_mode (ply_console_t *console, 49void ply_console_set_mode (ply_console_t *console,
50 ply_console_mode_t mode); 50 ply_console_mode_t mode);
51 51
52void ply_console_force_text_mode (ply_console_t *console, 52void ply_console_ignore_mode_changes (ply_console_t *console,
53 bool should_force); 53 bool should_ignore);
54 54
55int ply_console_get_fd (ply_console_t *console); 55int ply_console_get_fd (ply_console_t *console);
56int ply_console_get_active_vt (ply_console_t *console); 56int ply_console_get_active_vt (ply_console_t *console);
diff --git a/src/libplybootsplash/ply-renderer.c b/src/libplybootsplash/ply-renderer.c
index 5410feb8..08a246ba 100644
--- a/src/libplybootsplash/ply-renderer.c
+++ b/src/libplybootsplash/ply-renderer.c
@@ -220,6 +220,7 @@ ply_renderer_open (ply_renderer_t *renderer)
220 */ 220 */
221 const char *known_plugins[] = 221 const char *known_plugins[] =
222 { 222 {
223 PLYMOUTH_PLUGIN_PATH "renderers/x11.so",
223 PLYMOUTH_PLUGIN_PATH "renderers/drm.so", 224 PLYMOUTH_PLUGIN_PATH "renderers/drm.so",
224 PLYMOUTH_PLUGIN_PATH "renderers/frame-buffer.so", 225 PLYMOUTH_PLUGIN_PATH "renderers/frame-buffer.so",
225 NULL 226 NULL
@@ -299,10 +300,6 @@ ply_renderer_flush_head (ply_renderer_t *renderer,
299 assert (renderer->plugin_interface != NULL); 300 assert (renderer->plugin_interface != NULL);
300 assert (head != NULL); 301 assert (head != NULL);
301 302
302 if (ply_console_get_active_vt (renderer->console) !=
303 ply_terminal_get_vt_number (renderer->terminal))
304 return;
305
306 renderer->plugin_interface->flush_head (renderer->backend, head); 303 renderer->plugin_interface->flush_head (renderer->backend, head);
307} 304}
308 305