diff --git a/editor/scene/connections_dialog.cpp b/editor/scene/connections_dialog.cpp index 4207d267593..f5b0f8b49a0 100644 --- a/editor/scene/connections_dialog.cpp +++ b/editor/scene/connections_dialog.cpp @@ -1001,13 +1001,6 @@ void ConnectionsDock::_make_or_edit_connection() { } } - if (connect_dialog->is_editing()) { - _disconnect(connect_dialog->get_source_connection_data()); - _connect(cd); - } else { - _connect(cd); - } - if (add_script_function_request) { PackedStringArray script_function_args = connect_dialog->get_signal_args(); script_function_args.resize(script_function_args.size() - cd.unbinds); @@ -1057,6 +1050,13 @@ void ConnectionsDock::_make_or_edit_connection() { EditorNode::get_singleton()->emit_signal(SNAME("script_add_function_request"), target, cd.method, script_function_args); } + if (connect_dialog->is_editing()) { + _disconnect(connect_dialog->get_source_connection_data()); + _connect(cd); + } else { + _connect(cd); + } + update_tree(); }