Fix error when dropping script into script editor

This commit is contained in:
Haoyu Qiu 2022-12-26 14:35:33 +08:00
parent 0f10eafb38
commit bdcfb0877b

View file

@ -2613,15 +2613,18 @@ void ScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Co
Ref<Script> scr = ResourceLoader::load(file);
if (scr.is_valid()) {
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);
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->set_current_tab(new_index);
if (tab_container->get_child_count() > 0) {
tab_container->set_current_tab(new_index);
}
_update_script_names();
}
}