Fix emit_signal timing for GraphEdit's begin/end node move

(cherry picked from commit fbc095dc78)
This commit is contained in:
Gabriel Van Eyck 2020-10-19 18:25:07 -07:00 committed by Rémi Verschelde
parent ba00ced445
commit 7735cdaf8f
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 8 additions and 3 deletions

View file

@ -811,6 +811,10 @@ 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();
@ -920,16 +924,16 @@ 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;

View file

@ -98,6 +98,7 @@ private:
bool dragging;
bool just_selected;
bool moving_selection;
Vector2 drag_accum;
float zoom;