diff options
| author | Franklin Sobrinho | 2016-07-18 15:00:14 -0300 |
|---|---|---|
| committer | Franklin Sobrinho | 2016-07-18 15:00:14 -0300 |
| commit | 2a97d79a64a9a1e96858221e62762b1b84d171eb (patch) | |
| tree | 41e519447b3a724a4f7b5f42e865b7a60e1eb8d0 /tools/editor/scene_tree_dock.cpp | |
| parent | c328693e837f5899b24504caef5a9ee5e4d4cb4e (diff) | |
| download | godot-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.cpp | 13 |
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; } |
