You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Fix emit_signal timing for GraphEdit's begin/end node move
This commit is contained in:
@@ -775,6 +775,11 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||
}
|
||||
|
||||
if (mm.is_valid() && dragging) {
|
||||
if (!moving_selection) {
|
||||
emit_signal("_begin_node_move");
|
||||
moving_selection = true;
|
||||
}
|
||||
|
||||
just_selected = true;
|
||||
drag_accum += mm->get_relative();
|
||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||
@@ -881,16 +886,17 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||
}
|
||||
|
||||
if (drag_accum != Vector2()) {
|
||||
emit_signal("_begin_node_move");
|
||||
|
||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||
GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
||||
if (gn && gn->is_selected()) {
|
||||
gn->set_drag(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (moving_selection) {
|
||||
emit_signal("_end_node_move");
|
||||
moving_selection = false;
|
||||
}
|
||||
|
||||
dragging = false;
|
||||
|
||||
Reference in New Issue
Block a user