This allows reparenting, etc.
@@ -168,14 +168,17 @@ NodePath Joint2D::get_node_b() const {
void Joint2D::_notification(int p_what) {
switch (p_what) {
- case NOTIFICATION_READY: {
+ case NOTIFICATION_POST_ENTER_TREE: {
+ if (joint.is_valid()) {
+ _disconnect_signals();
+ }
_update_joint();
} break;
case NOTIFICATION_EXIT_TREE: {
if (joint.is_valid()) {
_disconnect_signals();
- _update_joint(true);
}
+ _update_joint(true);
@@ -178,14 +178,17 @@ int Joint::get_solver_priority() const {
void Joint::_notification(int p_what) {