Merge pull request #50236 from Calinou/editor-preview-sun-sky-add-root-node

Add a root Node3D automatically if absent when adding preview sun and sky
This commit is contained in:
Rémi Verschelde 2021-07-07 12:44:08 +02:00 committed by GitHub
commit 7428c07624
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 10 deletions

View file

@ -6223,8 +6223,9 @@ void Node3DEditor::_add_sun_to_scene() {
Node *base = get_tree()->get_edited_scene_root();
if (!base) {
EditorNode::get_singleton()->show_warning(TTR("A root node is needed for this operation"));
return;
// Create a root node so we can add child nodes to it.
EditorNode::get_singleton()->get_scene_tree_dock()->add_root_node(memnew(Node3D));
base = get_tree()->get_edited_scene_root();
}
ERR_FAIL_COND(!base);
Node *new_sun = preview_sun->duplicate();
@ -6241,8 +6242,9 @@ void Node3DEditor::_add_environment_to_scene() {
Node *base = get_tree()->get_edited_scene_root();
if (!base) {
EditorNode::get_singleton()->show_warning(TTR("A root node is needed for this operation"));
return;
// Create a root node so we can add child nodes to it.
EditorNode::get_singleton()->get_scene_tree_dock()->add_root_node(memnew(Node3D));
base = get_tree()->get_edited_scene_root();
}
ERR_FAIL_COND(!base);