Selaa lähdekoodia

Merge pull request #70581 from timothyqiu/drop-extern-3.x

[3.x] Fix error when dropping script into script editor
Rémi Verschelde 2 vuotta sitten
vanhempi
commit
085490fa06
1 muutettua tiedostoa jossa 7 lisäystä ja 4 poistoa
  1. 7 4
      editor/plugins/script_editor_plugin.cpp

+ 7 - 4
editor/plugins/script_editor_plugin.cpp

@@ -2613,15 +2613,18 @@ void ScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Co
 			Ref<Script> scr = ResourceLoader::load(file);
 			Ref<Script> scr = ResourceLoader::load(file);
 			if (scr.is_valid()) {
 			if (scr.is_valid()) {
 				edit(scr);
 				edit(scr);
-				if (tab_container->get_child_count() > num_tabs_before) {
+				const int num_tabs = tab_container->get_child_count();
+				if (num_tabs > num_tabs_before) {
 					tab_container->move_child(tab_container->get_child(tab_container->get_child_count() - 1), new_index);
 					tab_container->move_child(tab_container->get_child(tab_container->get_child_count() - 1), new_index);
-					num_tabs_before = tab_container->get_child_count();
-				} else { /* Maybe script was already open */
+					num_tabs_before = num_tabs;
+				} else if (num_tabs > 0) { /* Maybe script was already open */
 					tab_container->move_child(tab_container->get_child(tab_container->get_current_tab()), new_index);
 					tab_container->move_child(tab_container->get_child(tab_container->get_current_tab()), new_index);
 				}
 				}
 			}
 			}
 		}
 		}
-		tab_container->set_current_tab(new_index);
+		if (tab_container->get_child_count() > 0) {
+			tab_container->set_current_tab(new_index);
+		}
 		_update_script_names();
 		_update_script_names();
 	}
 	}
 }
 }