From 18735ff6f2db987b799f252fb0716ecd23347d30 Mon Sep 17 00:00:00 2001 From: Alexander Alekseev Date: Fri, 16 Feb 2018 11:29:19 +0300 Subject: [PATCH] Fixes OptionButton selection index being reset to zero at instanciation Bug: engine tries to set selected item before items were added during save scene/run project, because of wrong properties order. Fixes #10213. (cherry picked from commit 66c39b14261ee31244f864ebff7bdb6f3c55211f) --- scene/gui/option_button.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 1a46921561b..71c14810f6f 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -318,8 +318,9 @@ void OptionButton::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_items"), &OptionButton::_set_items); ClassDB::bind_method(D_METHOD("_get_items"), &OptionButton::_get_items); - ADD_PROPERTY(PropertyInfo(Variant::INT, "selected"), "_select_int", "get_selected"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "items", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_set_items", "_get_items"); + // "selected" property must come after "items", otherwise GH-10213 occurs + ADD_PROPERTY(PropertyInfo(Variant::INT, "selected"), "_select_int", "get_selected"); ADD_SIGNAL(MethodInfo("item_selected", PropertyInfo(Variant::INT, "ID"))); }