Browse Source

Fixes random sorting order in Create New Node dialog

Bernhard Liebl 7 years ago
parent
commit
a8012f1b25
2 changed files with 4 additions and 3 deletions
  1. 3 3
      editor/create_dialog.cpp
  2. 1 0
      editor/create_dialog.h

+ 3 - 3
editor/create_dialog.cpp

@@ -211,9 +211,6 @@ void CreateDialog::_update_search() {
 	_parse_fs(EditorFileSystem::get_singleton()->get_filesystem());
 */
 
-	List<StringName> type_list;
-	ClassDB::get_class_list(&type_list);
-
 	HashMap<String, TreeItem *> types;
 
 	TreeItem *root = search_options->create_item();
@@ -615,6 +612,9 @@ void CreateDialog::_bind_methods() {
 
 CreateDialog::CreateDialog() {
 
+	ClassDB::get_class_list(&type_list);
+	type_list.sort_custom<StringName::AlphCompare>();
+
 	set_resizable(true);
 
 	HSplitContainer *hbc = memnew(HSplitContainer);

+ 1 - 0
editor/create_dialog.h

@@ -55,6 +55,7 @@ class CreateDialog : public ConfirmationDialog {
 	String base_type;
 	String preferred_search_result_type;
 	EditorHelpBit *help_bit;
+	List<StringName> type_list;
 
 	void _item_selected();