From 762a07682b2e8578702882187f76b0622ce8c978 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 25 Sep 2025 15:05:46 +0200 Subject: Fix input setting reset (close #406) --- client/gui/menus/settings/input/input_setting.gd | 5 ++++- client/gui/menus/settings/input/input_value_node.gd | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'client/gui') diff --git a/client/gui/menus/settings/input/input_setting.gd b/client/gui/menus/settings/input/input_setting.gd index 3533cddf..2fb4af3d 100644 --- a/client/gui/menus/settings/input/input_setting.gd +++ b/client/gui/menus/settings/input/input_setting.gd @@ -25,10 +25,13 @@ func _init(new_id: String): func create_row(): var row = super() row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() - Settings.hook_changed_init(key, "preview", + # Manual initial update without update() since that needs to wait for _ready + row.value_node.value = Settings.read(key) + Settings.hook_changed(key, "preview", func(value): if is_instance_valid(row): row.value_node.value = value + row.value_node.update() ) row.value_node.changed.connect(func(): Settings.write(key, row.value_node.value)) return row diff --git a/client/gui/menus/settings/input/input_value_node.gd b/client/gui/menus/settings/input/input_value_node.gd index 29b53850..fe5768cf 100644 --- a/client/gui/menus/settings/input/input_value_node.gd +++ b/client/gui/menus/settings/input/input_value_node.gd @@ -45,7 +45,6 @@ func update(fix_focus: bool = false): func erase_event(e: InputEvent): value.erase(e) - update(true) changed.emit() func _input(e: InputEvent): @@ -57,7 +56,6 @@ func _input(e: InputEvent): value.append(e) _on_add_pressed() - update() changed.emit() func _on_add_pressed() -> void: -- cgit v1.2.3-70-g09d2