From 0ae84642e2debd1ef1c656ccb64e011c593b0b00 Mon Sep 17 00:00:00 2001 From: hius07 <62179190+hius07@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:22:23 +0300 Subject: [PATCH] configdialog: keep original options intact (#12093) --- frontend/ui/widget/configdialog.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/frontend/ui/widget/configdialog.lua b/frontend/ui/widget/configdialog.lua index 0214e179e..8d585c800 100644 --- a/frontend/ui/widget/configdialog.lua +++ b/frontend/ui/widget/configdialog.lua @@ -546,10 +546,14 @@ function ConfigOption:init() local row_count = self.options[c].row_count or 1 local toggle_height = Screen:scaleBySize(self.options[c].height or (30 * row_count)) + local toggle, args = {}, {} -- keep options intact + for i = 1, #self.options[c].toggle do + toggle[i] = self.options[c].toggle[i] + args[i] = self.options[c].args[i] + end if self.options[c].more_options then - table.insert(self.options[c].toggle, "⋮") - table.insert(self.options[c].args, "⋮") - self.options[c].more_options = false + table.insert(toggle, "⋮") + table.insert(args, "⋮") end local switch = ToggleSwitch:new{ width = math.min(max_toggle_width, toggle_width), @@ -558,17 +562,17 @@ function ConfigOption:init() font_size = item_font_size, name = self.options[c].name, name_text = name_text, - toggle = self.options[c].toggle, + toggle = toggle, alternate = self.options[c].alternate, values = self.options[c].values, - args = self.options[c].args, + args = args, event = self.options[c].event, hide_on_apply = self.options[c].hide_on_apply, config = self.config, enabled = enabled, row_count = row_count, callback = function(arg) - if self.options[c].toggle[arg] == "⋮" then + if toggle[arg] == "⋮" then if self.options[c].show_true_value_func and not self.options[c].more_options_param.show_true_value_func then self.options[c].more_options_param.show_true_value_func = self.options[c].show_true_value_func end