diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-01-05 16:42:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-05 16:42:17 +0100 |
commit | 3fcae531e225681563a1a65a064c265fbfce4a7f (patch) | |
tree | 3a524322e872bd0ad6c9191825e9121f0ccbcf7e | |
parent | 6af77c7b090f9e49aa5176783bf7350f8f6ec2e2 (diff) | |
parent | b5407f802fbcd3cf78a62075cb5a4af5f173fa08 (diff) |
Merge pull request #55293 from LlamaLad7/master
-rw-r--r-- | editor/plugins/canvas_item_editor_plugin.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 9691346947..089c37d7a6 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -2097,8 +2097,16 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) { if (k.is_valid() && k->is_pressed() && (tool == TOOL_SELECT || tool == TOOL_MOVE) && (k->get_keycode() == Key::UP || k->get_keycode() == Key::DOWN || k->get_keycode() == Key::LEFT || k->get_keycode() == Key::RIGHT)) { if (!k->is_echo()) { - // Start moving the canvas items with the keyboard - drag_selection = _get_edited_canvas_items(); + // Start moving the canvas items with the keyboard, if they are movable + List<CanvasItem *> selection = _get_edited_canvas_items(); + + drag_selection.clear(); + for (CanvasItem *item : selection) { + if (_is_node_movable(item, true)) { + drag_selection.push_back(item); + } + } + drag_type = DRAG_KEY_MOVE; drag_from = Vector2(); drag_to = Vector2(); |