summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2019-10-25 23:56:08 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2019-10-25 23:58:21 +0200
commit929d8dd20c19c814024906d4dcd1ad59a62534ce (patch)
tree57c71ac4bbb41e0a0d9021f6c5d7a40e002314bf
parent6a74113150ab565ba11900417e61344794548a12 (diff)
Fix off-by-one error in the Project Settings type dropdown
This closes #33075.
-rw-r--r--editor/project_settings_editor.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 803c806028..f56f7ef7ca 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -845,9 +845,10 @@ void ProjectSettingsEditor::_item_adds(String) {
void ProjectSettingsEditor::_item_add() {
- // Initialize the property with the default value for the given type
+ // 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.
Variant::CallError ce;
- const Variant value = Variant::construct(Variant::Type(type->get_selected()), NULL, 0, ce);
+ const Variant value = Variant::construct(Variant::Type(type->get_selected() + 1), NULL, 0, ce);
String catname = category->get_text().strip_edges();
String propname = property->get_text().strip_edges();
@@ -1835,7 +1836,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
// Start at 1 to avoid adding "Nil" as an option
for (int i = 1; i < Variant::VARIANT_MAX; i++) {
- type->add_item(Variant::get_type_name(Variant::Type(i)), i);
+ type->add_item(Variant::get_type_name(Variant::Type(i)));
}
Button *add = memnew(Button);