forked from rpms/plymouth
67 lines
2.7 KiB
Diff
67 lines
2.7 KiB
Diff
|
From 353d12806adf6be4d051d491a2af28e3b24b3063 Mon Sep 17 00:00:00 2001
|
||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||
|
Date: Mon, 2 Jul 2018 09:39:12 +0200
|
||
|
Subject: [PATCH 3/3] show_theme: Only activate renderers if the splash uses
|
||
|
pixel-displays
|
||
|
|
||
|
Since commit eb147e52b123 ("renderer: support reactivating renderer without
|
||
|
closing it first"), the show_theme() call done by
|
||
|
toggle_between_splash_and_details() will reactivate the renderers after
|
||
|
switching to details mode, causing the drm renderer to switch the screen
|
||
|
from text to graphics mode hiding the details being logged on the console.
|
||
|
|
||
|
This commit fixes this by making show_theme() not call
|
||
|
ply_device_manager_activate_renderers() if the splash does not uses
|
||
|
pixel-displays.
|
||
|
|
||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||
|
---
|
||
|
src/libply-splash-core/ply-boot-splash.c | 5 +++++
|
||
|
src/libply-splash-core/ply-boot-splash.h | 1 +
|
||
|
src/main.c | 3 ++-
|
||
|
3 files changed, 8 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/src/libply-splash-core/ply-boot-splash.c b/src/libply-splash-core/ply-boot-splash.c
|
||
|
index 87a7a0c..7888785 100644
|
||
|
--- a/src/libply-splash-core/ply-boot-splash.c
|
||
|
+++ b/src/libply-splash-core/ply-boot-splash.c
|
||
|
@@ -695,4 +695,9 @@ ply_boot_splash_become_idle (ply_boot_splash_t *splash,
|
||
|
splash->plugin_interface->become_idle (splash->plugin, splash->idle_trigger);
|
||
|
}
|
||
|
|
||
|
+bool ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash)
|
||
|
+{
|
||
|
+ return splash->plugin_interface->add_pixel_display != NULL;
|
||
|
+}
|
||
|
+
|
||
|
/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
|
||
|
diff --git a/src/libply-splash-core/ply-boot-splash.h b/src/libply-splash-core/ply-boot-splash.h
|
||
|
index b66ca47..0bdbe96 100644
|
||
|
--- a/src/libply-splash-core/ply-boot-splash.h
|
||
|
+++ b/src/libply-splash-core/ply-boot-splash.h
|
||
|
@@ -89,6 +89,7 @@ void ply_boot_splash_attach_progress (ply_boot_splash_t *splash,
|
||
|
void ply_boot_splash_become_idle (ply_boot_splash_t *splash,
|
||
|
ply_boot_splash_on_idle_handler_t idle_handler,
|
||
|
void *user_data);
|
||
|
+bool ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash);
|
||
|
|
||
|
|
||
|
#endif
|
||
|
diff --git a/src/main.c b/src/main.c
|
||
|
index ff02ea6..13848c1 100644
|
||
|
--- a/src/main.c
|
||
|
+++ b/src/main.c
|
||
|
@@ -1763,7 +1763,8 @@ show_theme (state_t *state,
|
||
|
return NULL;
|
||
|
|
||
|
attach_splash_to_devices (state, splash);
|
||
|
- ply_device_manager_activate_renderers (state->device_manager);
|
||
|
+ if (ply_boot_splash_uses_pixel_displays (splash))
|
||
|
+ ply_device_manager_activate_renderers (state->device_manager);
|
||
|
|
||
|
splash_mode = get_splash_mode_from_mode (state->mode);
|
||
|
|
||
|
--
|
||
|
2.17.1
|
||
|
|