diff options
-rw-r--r-- | client/gui/menus/settings/input/input_setting.gd | 5 | ||||
-rw-r--r-- | client/gui/menus/settings/input/input_value_node.gd | 2 |
2 files changed, 4 insertions, 3 deletions
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: |