Stop EditorNode from refreshing the current scene tab when not needed
This commit is contained in:
Rémi Verschelde
2025-01-07 10:14:26 +01:00

View File

@ -1113,7 +1113,14 @@ void EditorNode::_resources_reimported(const Vector<String> &p_resources) {
ap->stop(true);
}
// Only refresh the current scene tab if it's been reimported.
// Otherwise the scene tab will try to grab focus unnecessarily.
bool should_refresh_current_scene_tab = false;
const String current_scene_tab = editor_data.get_scene_path(current_tab);
for (const String &E : scenes_reimported) {
if (!should_refresh_current_scene_tab && E == current_scene_tab) {
should_refresh_current_scene_tab = true;
}
reload_scene(E);
}
@ -1123,7 +1130,9 @@ void EditorNode::_resources_reimported(const Vector<String> &p_resources) {
scenes_reimported.clear();
resources_reimported.clear();
_set_current_scene_nocheck(current_tab);
if (should_refresh_current_scene_tab) {
_set_current_scene_nocheck(current_tab);
}
}
void EditorNode::_sources_changed(bool p_exist) {