From 26d196b00e4e692dbd9cede9ad1826ab9f2a6271 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Thu, 3 Aug 2023 01:17:48 -0700 Subject: modules/rkt: use the raw module name when randomizing The existing code assumed til_module_t.name was equivalent to the name setting's value. That's no longer a safe assumption, and if the module was made possible via something like nocheck, that needs to be preserved in the randomized setup. So this gets the name out of the setting instead, using the new raw value getter. --- src/modules/rkt/rkt_scener.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/modules/rkt') diff --git a/src/modules/rkt/rkt_scener.c b/src/modules/rkt/rkt_scener.c index 2dc608a..5e90eed 100644 --- a/src/modules/rkt/rkt_scener.c +++ b/src/modules/rkt/rkt_scener.c @@ -554,6 +554,7 @@ static int rkt_scener_randomize_scene_settings(rkt_context_t *ctxt, unsigned sce rkt_scene_t *scene; til_settings_t *scenes_settings; til_setting_t *scene_setting; + til_setting_t *module_name_setting; til_settings_t *new_settings; til_setup_t *setup; char *label; @@ -576,7 +577,12 @@ static int rkt_scener_randomize_scene_settings(rkt_context_t *ctxt, unsigned sce if (r < 0) return r; - new_settings = til_settings_new(NULL, scenes_settings, label, module->name); + if (!til_settings_get_value_by_idx(scene_setting->value_as_nested_settings, 0, &module_name_setting)) { + free(label); + return -EINVAL; + } + + new_settings = til_settings_new(NULL, scenes_settings, label, til_setting_get_raw_value(module_name_setting)); free(label); if (!new_settings) return -ENOMEM; -- cgit v1.2.1