diff --git a/addons/transition_configurator/config_dialog.gd b/addons/transition_configurator/config_dialog.gd index b8b63e9..625a5f9 100644 --- a/addons/transition_configurator/config_dialog.gd +++ b/addons/transition_configurator/config_dialog.gd @@ -205,10 +205,22 @@ func _validate_selection() -> void: status_label.text = "Please select an arrival point" return - var arrival_data = arrival_list.get_item_metadata(arrival_idx[0]) - if arrival_data == null or typeof(arrival_data) != TYPE_DICTIONARY: + # Check if the selected arrival item is disabled (e.g., "No TransitionPieces found") + if arrival_list.is_item_disabled(arrival_idx[0]): apply_button.disabled = true - status_label.text = "Invalid arrival point selected" + status_label.text = "Please select a valid arrival point" + return + + var arrival_data = arrival_list.get_item_metadata(arrival_idx[0]) + print("DEBUG: arrival_data = ", arrival_data, " type = ", typeof(arrival_data)) + if arrival_data == null: + apply_button.disabled = true + status_label.text = "No arrival point data (null)" + return + + if typeof(arrival_data) != TYPE_DICTIONARY: + apply_button.disabled = true + status_label.text = "Invalid arrival point data type: " + str(typeof(arrival_data)) return apply_button.disabled = false