summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorDashcell <lucas_vinicius@live.com>2020-09-14 22:57:03 -0300
committerDashcell <lucas_vinicius10@live.com>2020-09-16 14:53:22 -0300
commit1ac936f035a6aaf62b6c2b3c58a558477ba29eea (patch)
tree1986266cbc5d2127c9debd9dc02548b0f0d8f5ab /scene/gui
parentee36e08c2656a64dede15d8681b0c4c7db55efee (diff)
Dropping file on parrent dirrectory fixed
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/tree.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index f6636cf392..070948237a 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -1208,8 +1208,9 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
if (drop_mode_flags && drop_mode_over == p_item) {
Rect2 r = cell_rect;
+ bool has_parent = p_item->get_children() != nullptr;
- if (drop_mode_section == -1 || drop_mode_section == 0) {
+ if (drop_mode_section == -1 || has_parent || drop_mode_section == 0) {
RenderingServer::get_singleton()->canvas_item_add_rect(ci, Rect2(r.position.x, r.position.y, r.size.x, 1), cache.drop_position_color);
}
@@ -1218,7 +1219,7 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
RenderingServer::get_singleton()->canvas_item_add_rect(ci, Rect2(r.position.x + r.size.x - 1, r.position.y, 1, r.size.y), cache.drop_position_color);
}
- if (drop_mode_section == 1 || drop_mode_section == 0) {
+ if ((drop_mode_section == 1 && !has_parent) || drop_mode_section == 0) {
RenderingServer::get_singleton()->canvas_item_add_rect(ci, Rect2(r.position.x, r.position.y + r.size.y, r.size.x, 1), cache.drop_position_color);
}
}