Merge branch 'device-name' into 'main'

plugins: Restore device name after failed attempt

See merge request plymouth/plymouth!386
This commit is contained in:
Danny Milosavljevic 2026-04-23 06:05:27 +00:00
commit b681cac2b1

View file

@ -244,15 +244,23 @@ ply_renderer_open_plugin (ply_renderer_t *renderer,
const char *plugin_path,
bool force)
{
char *saved_device_name;
ply_trace ("trying to open renderer plugin %s", plugin_path);
if (!ply_renderer_load_plugin (renderer, plugin_path))
saved_device_name = renderer->device_name != NULL ? strdup (renderer->device_name) : NULL;
if (!ply_renderer_load_plugin (renderer, plugin_path)) {
free (saved_device_name);
return false;
}
if (!ply_renderer_open_device (renderer)) {
ply_trace ("could not open rendering device for plugin %s",
plugin_path);
ply_renderer_unload_plugin (renderer);
free (renderer->device_name);
renderer->device_name = saved_device_name;
return false;
}
@ -261,9 +269,12 @@ ply_renderer_open_plugin (ply_renderer_t *renderer,
plugin_path);
ply_renderer_close_device (renderer);
ply_renderer_unload_plugin (renderer);
free (renderer->device_name);
renderer->device_name = saved_device_name;
return false;
}
free (saved_device_name);
ply_trace ("opened renderer plugin %s", plugin_path);
return true;
}