|
@@ -606,7 +606,7 @@ void CanvasItemEditor::_find_canvas_items_at_pos(const Point2 &p_pos, Node *p_no
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CanvasItemEditor::_get_canvas_items_at_pos(const Point2 &p_pos, Vector<_SelectResult> &r_items, bool p_ignore_groups) {
|
|
|
+void CanvasItemEditor::_get_canvas_items_at_pos(const Point2 &p_pos, Vector<_SelectResult> &r_items, bool p_allow_locked) {
|
|
|
|
|
|
Node *scene = editor->get_edited_scene();
|
|
|
|
|
@@ -622,7 +622,7 @@ void CanvasItemEditor::_get_canvas_items_at_pos(const Point2 &p_pos, Vector<_Sel
|
|
|
};
|
|
|
|
|
|
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(node);
|
|
|
- if (!p_ignore_groups) {
|
|
|
+ if (!p_allow_locked) {
|
|
|
// Replace the node by the group if grouped
|
|
|
while (node && node != scene->get_parent()) {
|
|
|
CanvasItem *canvas_item_tmp = Object::cast_to<CanvasItem>(node);
|
|
@@ -643,7 +643,7 @@ void CanvasItemEditor::_get_canvas_items_at_pos(const Point2 &p_pos, Vector<_Sel
|
|
|
}
|
|
|
|
|
|
//Remove the item if invalid
|
|
|
- if (!canvas_item || duplicate || (canvas_item != scene && canvas_item->get_owner() != scene && !scene->is_editable_instance(canvas_item->get_owner())) || (tool == TOOL_LIST_SELECT && _is_node_locked(canvas_item))) {
|
|
|
+ if (!canvas_item || duplicate || (canvas_item != scene && canvas_item->get_owner() != scene && !scene->is_editable_instance(canvas_item->get_owner())) || (!p_allow_locked && _is_node_locked(canvas_item))) {
|
|
|
r_items.remove(i);
|
|
|
i--;
|
|
|
} else {
|