diff options
| author | tpart <tpart120@proton.me> | 2024-09-20 15:19:03 +0200 | 
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-09-20 15:19:03 +0200 | 
| commit | 03b05206bd21e24ae338af0ceda8d04c12c8b242 (patch) | |
| tree | 5f7ba4b18f79ab6a7fb41e5a7afc4614ff943ab7 /client/menu/settings | |
| parent | d6011577d008a04a3fa52bba4ca80c7bce65fe2e (diff) | |
| download | hurrycurry-03b05206bd21e24ae338af0ceda8d04c12c8b242.tar hurrycurry-03b05206bd21e24ae338af0ceda8d04c12c8b242.tar.bz2 hurrycurry-03b05206bd21e24ae338af0ceda8d04c12c8b242.tar.zst | |
Fix crash in settings if row is null
Diffstat (limited to 'client/menu/settings')
| -rw-r--r-- | client/menu/settings/dropdown_setting.gd | 6 | ||||
| -rw-r--r-- | client/menu/settings/input/input_setting.gd | 6 | ||||
| -rw-r--r-- | client/menu/settings/range_setting.gd | 6 | ||||
| -rw-r--r-- | client/menu/settings/text_setting.gd | 6 | ||||
| -rw-r--r-- | client/menu/settings/toggle_setting.gd | 6 | 
5 files changed, 25 insertions, 5 deletions
| diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 3d6b7c80..7ce92ccd 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -26,6 +26,10 @@ func create_row():  	var row = super()  	row.value_node = OptionButton.new()  	for i in options: row.value_node.add_item(tr(nskey + "." + i)) -	Settings.hook_changed_init(key, true, func (value): row.value_node.select(options.find(value))) +	Settings.hook_changed_init(key, true, +		func(value): +			if is_instance_valid(row): +				row.value_node.select(options.find(value)) +	)  	row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item]))  	return row diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index bf5fc2c6..e01b4c0c 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -22,7 +22,11 @@ const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_no  func create_row():  	var row = super()  	row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() -	Settings.hook_changed_init(key, true, func(value): row.value_node.value = value) +	Settings.hook_changed_init(key, true, +		func(value): +			if is_instance_valid(row): +				row.value_node.value = value +	)  	row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value))  	return row diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index b119a205..f2e656dd 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -36,6 +36,10 @@ func create_row():  	row.value_node.max_value = max_value  	row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count  	row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) -	Settings.hook_changed_init(key, true, func(value): row.value_node.value = value) +	Settings.hook_changed_init(key, true, +		func(value): +			if is_instance_valid(row): +				row.value_node.value = value +	)  	row.value_node.value_changed.connect(func(value): Global.set_setting(key, value))  	return row diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index dc9352ab..991ecd1d 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -28,5 +28,9 @@ func create_row():  	row.value_node = LineEdit.new()  	row.value_node.placeholder_text = placeholder  	row.value_node.text_changed.connect(func(text): Global.set_setting(key, text)) -	Settings.hook_changed_init(key, true, func(text): row.value_node.text = text) +	Settings.hook_changed_init(key, true, +		func(text): +			if is_instance_valid(row): +				row.value_node.text = text +	)  	return row diff --git a/client/menu/settings/toggle_setting.gd b/client/menu/settings/toggle_setting.gd index 8e0c030c..8ec97ff6 100644 --- a/client/menu/settings/toggle_setting.gd +++ b/client/menu/settings/toggle_setting.gd @@ -24,5 +24,9 @@ func create_row():  	var row = super()  	row.value_node = CheckButton.new()  	row.value_node.pressed.connect(func(): Global.set_setting(key, row.value_node.button_pressed)) -	Settings.hook_changed_init(key, true, func(value): row.value_node.button_pressed = value) +	Settings.hook_changed_init(key, true, +		func(value): +			if is_instance_valid(row): +				row.value_node.button_pressed = value +	)  	return row | 
