mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-09 07:08:01 +02:00
splash: remove pixel_display in sprite-lib when notified they are gone
This commit is contained in:
parent
7091fe54a6
commit
ad75f014b1
3 changed files with 22 additions and 0 deletions
|
|
@ -395,6 +395,7 @@ static void
|
|||
remove_pixel_display (ply_boot_splash_plugin_t *plugin,
|
||||
ply_pixel_display_t *display)
|
||||
{
|
||||
script_lib_sprite_pixel_display_removed (plugin->script_sprite_lib, display);
|
||||
ply_list_remove_data (plugin->displays, display);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -686,6 +686,26 @@ region_add_area (ply_region_t *region,
|
|||
ply_region_add_rectangle (region, &rectangle);
|
||||
}
|
||||
|
||||
void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, ply_pixel_display_t *pixel_display)
|
||||
{
|
||||
ply_list_node_t *node;
|
||||
ply_list_node_t *next_node;
|
||||
script_lib_display_t* display;
|
||||
|
||||
node = ply_list_get_first_node (data->displays);
|
||||
while (node)
|
||||
{
|
||||
next_node = ply_list_get_next_node (data->displays, node);
|
||||
display = ply_list_node_get_data (node);
|
||||
|
||||
if (display->pixel_display == pixel_display)
|
||||
{
|
||||
ply_list_remove_node (data->displays, node);
|
||||
}
|
||||
node = next_node;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
script_lib_sprite_refresh (script_lib_sprite_data_t *data)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ typedef struct
|
|||
|
||||
script_lib_sprite_data_t *script_lib_sprite_setup (script_state_t *state,
|
||||
ply_list_t *displays);
|
||||
void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, ply_pixel_display_t *pixel_display);
|
||||
void script_lib_sprite_refresh (script_lib_sprite_data_t *data);
|
||||
void script_lib_sprite_destroy (script_lib_sprite_data_t *data);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue