In CanvasItemEditor, prioritize selected items

This commit is contained in:
Bernhard Liebl 2018-03-04 14:05:58 +01:00
parent 79a07527ab
commit ced694e9cd
1 changed files with 16 additions and 1 deletions

View File

@ -1681,7 +1681,22 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
// Find the item to select
CanvasItem *canvas_item = NULL;
Vector<_SelectResult> selection;
_find_canvas_items_at_pos(click, scene, selection, 1);
_find_canvas_items_at_pos(click, scene, selection, editor_selection->get_selection().empty() ? 1 : 0);
for (int i = 0; i < selection.size(); i++) {
if (editor_selection->is_selected(selection[i].item)) {
// Drag the node(s) if requested
List<CanvasItem *> selection = _get_edited_canvas_items();
drag_type = DRAG_ALL;
drag_selection = selection;
drag_from = click;
_save_canvas_item_state(drag_selection);
return true;
}
}
if (!selection.empty())
canvas_item = selection[0].item;