Keep to show current script when closing all docs

also fix error when removing multiple tabs from TabContainer at same frame.
like closing multiple docs at once.

Fix #16403
This commit is contained in:
volzhs 2018-02-07 06:32:03 +09:00
parent fee29570d0
commit df84290a7e
4 changed files with 20 additions and 13 deletions

View file

@ -505,7 +505,7 @@ void ScriptEditor::_show_error_dialog(String p_path) {
error_dialog->popup_centered_minsize();
}
void ScriptEditor::_close_tab(int p_idx, bool p_save) {
void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) {
int selected = p_idx;
if (selected < 0 || selected >= tab_container->get_child_count())
@ -521,7 +521,9 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save) {
}
// roll back to previous tab
_history_back();
if (p_history_back) {
_history_back();
}
//remove from history
history.resize(history_pos + 1);
@ -579,7 +581,7 @@ void ScriptEditor::_close_docs_tab() {
EditorHelp *se = Object::cast_to<EditorHelp>(tab_container->get_child(i));
if (se) {
_close_tab(i);
_close_tab(i, true, false);
}
}
}