mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-08 05:28:01 +02:00
ply-boot-splash: Do not add ply_boot_splash_update_progress timeout multiple times
Before this commit when freeing the splash, the following would be logged: multiple matching timeouts found for removal multiple matching timeouts found for removal This is caused by us adding the ply_boot_splash_update_progress timeout handler to the event loop 3 times: 1 on first show, 2 on second show with a different mode, 3 on becoming idle. This commit fixes the 2nd add by stopping the timer when changing modes and the 3th add by not calling ply_boot_splash_update_progress to update the progress, as that will re-add itself. Instead this commit directly calls plugin_interface->on_boot_progress from ply_boot_splash_become_idle. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
d0e26e24d9
commit
a1920e8af9
1 changed files with 10 additions and 2 deletions
|
|
@ -476,6 +476,11 @@ ply_boot_splash_show (ply_boot_splash_t *splash,
|
|||
} else if (splash->mode != PLY_BOOT_SPLASH_MODE_INVALID) {
|
||||
splash->plugin_interface->hide_splash_screen (splash->plugin,
|
||||
splash->loop);
|
||||
if (splash->plugin_interface->on_boot_progress != NULL) {
|
||||
ply_event_loop_stop_watching_for_timeout (splash->loop,
|
||||
(ply_event_loop_timeout_handler_t)
|
||||
ply_boot_splash_update_progress, splash);
|
||||
}
|
||||
}
|
||||
|
||||
ply_trace ("showing splash screen");
|
||||
|
|
@ -671,9 +676,12 @@ ply_boot_splash_become_idle (ply_boot_splash_t *splash,
|
|||
{
|
||||
assert (splash->idle_trigger == NULL);
|
||||
|
||||
if (splash->progress != NULL) {
|
||||
if (splash->plugin_interface->on_boot_progress != NULL &&
|
||||
splash->progress != NULL) {
|
||||
ply_progress_set_percentage (splash->progress, 1.0);
|
||||
ply_boot_splash_update_progress (splash);
|
||||
splash->plugin_interface->on_boot_progress (splash->plugin,
|
||||
ply_progress_get_time (splash->progress),
|
||||
1.0);
|
||||
}
|
||||
|
||||
ply_trace ("telling splash to become idle");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue