Merge pull request #48048 from kleonc/project_settings_add_property_type_fix

ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values
This commit is contained in:
Rémi Verschelde 2021-04-20 20:00:59 +02:00 committed by GitHub
commit 7879e0494b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -102,10 +102,9 @@ void ProjectSettingsEditor::_add_setting() {
String setting = _get_setting_name();
// Initialize the property with the default value for the given type.
// The type list starts at 1 (as we exclude Nil), so add 1 to the selected value.
Callable::CallError ce;
Variant value;
Variant::construct(Variant::Type(type->get_selected() + 1), value, nullptr, 0, ce);
Variant::construct(Variant::Type(type->get_selected_id()), value, nullptr, 0, ce);
undo_redo->create_action(TTR("Add Project Setting"));
undo_redo->add_do_property(ps, setting, value);
@ -584,7 +583,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
// There's no point in adding Nil types, and Object types
// can't be serialized correctly in the project settings.
if (i != Variant::NIL && i != Variant::OBJECT) {
type->add_item(Variant::get_type_name(Variant::Type(i)));
type->add_item(Variant::get_type_name(Variant::Type(i)), i);
}
}