From 0c1a162b8ed07991984fd45862b44bc12e7fad92 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 25 Jun 2018 16:55:39 +0200 Subject: [PATCH 3/3] main: Move ply_device_manager_deactivate_renderers() into hide_splash() hide_splash() should be the counter-part of show_splash(), show_splash() calls ply_device_manager_activate_renderers() (through show_theme()). 2 of the 3 callers of hide_splash() are already calling ply_device_manager_deactivate_renderers() directly before calling hide_splash(). This commit moves the deactivate call into hide_splash() so that it also gets called from the 3th code-path. Properly deactivating the renderers is important so that the drm-master rights are properly dropped. This is necessary to allow the kernel fbcon code to setup the fbdev it uses when it was not already setup before plymouth loads. Signed-off-by: Hans de Goede --- src/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 4647d52..252621d 100644 --- a/src/main.c +++ b/src/main.c @@ -1175,6 +1175,8 @@ quit_splash (state_t *state) static void hide_splash (state_t *state) { + ply_device_manager_deactivate_renderers (state->device_manager); + state->is_shown = false; cancel_pending_delayed_show (state); @@ -1194,7 +1196,6 @@ dump_details_and_quit_splash (state_t *state) state->showing_details = false; toggle_between_splash_and_details (state); - ply_device_manager_deactivate_renderers (state->device_manager); hide_splash (state); quit_splash (state); } @@ -1292,7 +1293,6 @@ on_boot_splash_idle (state_t *state) if (state->quit_trigger != NULL) { if (!state->should_retain_splash) { ply_trace ("hiding splash"); - ply_device_manager_deactivate_renderers (state->device_manager); hide_splash (state); } -- 2.17.1