diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-01-26 14:24:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-26 14:24:35 +0100 |
commit | 1365bed8ed3e108d13f3f9eb46d86de365a073d3 (patch) | |
tree | 5880f7217f0fb73c9ee5175e76508333cdb005e3 /editor | |
parent | 35c1694c040c4b9f8d46984241d5d37cb3380725 (diff) | |
parent | e3648c0a794a81d6426c30288a77c3d96036c6fa (diff) |
Merge pull request #25338 from DualMatrix/search_inaccurate
Fixed Recent/Favorite in Create Node dialog not selecting right node
Diffstat (limited to 'editor')
-rw-r--r-- | editor/create_dialog.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 205bdc63b9..3c2bfdc04d 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -208,7 +208,7 @@ void CreateDialog::add_type(const String &p_type, HashMap<String, TreeItem *> &p if (!can_instance) { item->set_custom_color(0, get_color("disabled_font_color", "Editor")); item->set_selectable(0, false); - } else { + } else if (!(*to_select && (*to_select)->get_text(0) == search_box->get_text())) { bool is_search_subsequence = search_box->get_text().is_subsequence_ofi(p_type); String to_select_type = *to_select ? (*to_select)->get_text(0) : ""; to_select_type = to_select_type.split(" ")[0]; @@ -221,11 +221,11 @@ void CreateDialog::add_type(const String &p_type, HashMap<String, TreeItem *> &p } else { current_item_is_preferred = ed.script_class_is_parent(p_type, preferred_search_result_type) && !ed.script_class_is_parent(to_select_type, preferred_search_result_type) && search_box->get_text() != to_select_type; } - if (*to_select && p_type.length() < (*to_select)->get_text(0).length()) { + if (search_box->get_text() == p_type || (*to_select && p_type.length() < (*to_select)->get_text(0).length())) { current_item_is_preferred = true; } - if (((!*to_select || current_item_is_preferred) && is_search_subsequence) || search_box->get_text() == p_type) { + if (((!*to_select || current_item_is_preferred) && is_search_subsequence)) { *to_select = item; } } |