diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-08-01 13:15:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-01 13:15:02 +0200 |
commit | f06d201bb7a58e0399278ee29328740ea9efd16b (patch) | |
tree | f9ee4bcac03ea14d1b3830fe1cc16821817a23c2 | |
parent | 8b129b1dfcfc73241c12203a23ec620d6994a551 (diff) | |
parent | bb5729fd352619356a2d0eae1148a4fe13aeb174 (diff) |
Merge pull request #51139 from Chaosus/fix_canvasitem_drag_warning
Prevent warning spam to console when dragging a CanvasItem in container
-rw-r--r-- | editor/plugins/canvas_item_editor_plugin.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index cd16353d6a..cf9e94bd3b 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -2012,11 +2012,13 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) { drag_to = transform.affine_inverse().xform(m->get_position()); Point2 previous_pos; - if (drag_selection.size() == 1) { - Transform2D xform = drag_selection[0]->get_global_transform_with_canvas() * drag_selection[0]->get_transform().affine_inverse(); - previous_pos = xform.xform(drag_selection[0]->_edit_get_position()); - } else { - previous_pos = _get_encompassing_rect_from_list(drag_selection).position; + if (!drag_selection.is_empty()) { + if (drag_selection.size() == 1) { + Transform2D xform = drag_selection[0]->get_global_transform_with_canvas() * drag_selection[0]->get_transform().affine_inverse(); + previous_pos = xform.xform(drag_selection[0]->_edit_get_position()); + } else { + previous_pos = _get_encompassing_rect_from_list(drag_selection).position; + } } Point2 new_pos = snap_point(previous_pos + (drag_to - drag_from), SNAP_GRID | SNAP_GUIDES | SNAP_PIXEL | SNAP_NODE_PARENT | SNAP_NODE_ANCHORS | SNAP_OTHER_NODES, 0, nullptr, drag_selection); |