aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/scene_tree_dock.cpp
diff options
context:
space:
mode:
authorFranklin Sobrinho2016-07-18 15:00:14 -0300
committerFranklin Sobrinho2016-07-18 15:00:14 -0300
commit2a97d79a64a9a1e96858221e62762b1b84d171eb (patch)
tree41e519447b3a724a4f7b5f42e865b7a60e1eb8d0 /tools/editor/scene_tree_dock.cpp
parentc328693e837f5899b24504caef5a9ee5e4d4cb4e (diff)
downloadgodot-2a97d79a64a9a1e96858221e62762b1b84d171eb.tar.gz
godot-2a97d79a64a9a1e96858221e62762b1b84d171eb.tar.zst
godot-2a97d79a64a9a1e96858221e62762b1b84d171eb.zip
Fix crash when dropping scene as a sibling of the root node
Diffstat (limited to 'tools/editor/scene_tree_dock.cpp')
-rw-r--r--tools/editor/scene_tree_dock.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp
index 2e7d65ead..e4dfcc0f6 100644
--- a/tools/editor/scene_tree_dock.cpp
+++ b/tools/editor/scene_tree_dock.cpp
@@ -1574,14 +1574,12 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos, int p_type) {
to_pos=-1;
- if (p_type==1 && to_node==EditorNode::get_singleton()->get_edited_scene()) {
- //if at lower sibling of root node
- to_pos=0; //just insert at begining of root node
- } else if (p_type==-1) {
+ if (p_type==-1) {
//drop at above selected node
if (to_node==EditorNode::get_singleton()->get_edited_scene()) {
to_node=NULL;
- ERR_FAIL_COND(to_node==EditorNode::get_singleton()->get_edited_scene());
+ ERR_EXPLAIN("Cannot perform drop above the root node!");
+ ERR_FAIL();
}
Node* upper_sibling=NULL;
@@ -1617,8 +1615,9 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos, int p_type) {
} else if (p_type==1) {
//drop at below selected node
if (to_node==EditorNode::get_singleton()->get_edited_scene()) {
- to_node=NULL;
- ERR_FAIL_COND(to_node==EditorNode::get_singleton()->get_edited_scene());
+ //if at lower sibling of root node
+ to_pos=0; //just insert at begining of root node
+ return;
}