Skip to content

Commit

Permalink
Fix SoftBody3D pinned points breaking when reloading scene
Browse files Browse the repository at this point in the history
  • Loading branch information
jirisvd committed Aug 11, 2024
1 parent 2d0ee20 commit bde8c59
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion scene/3d/soft_body_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,13 @@ bool SoftBody3D::_set_property_pinned_points_attachment(int p_item, const String

if ("spatial_attachment_path" == p_what) {
PinnedPoint *w = pinned_points.ptrw();
callable_mp(this, &SoftBody3D::_pin_point_deferred).call_deferred(Variant(w[p_item].point_index), true, p_value);

if (is_inside_tree()) {
callable_mp(this, &SoftBody3D::_pin_point_deferred).call_deferred(Variant(w[p_item].point_index), true, p_value);
} else {
pin_point(w[p_item].point_index, true, p_value);
_make_cache_dirty();
}
} else if ("offset" == p_what) {
PinnedPoint *w = pinned_points.ptrw();
w[p_item].offset = p_value;
Expand Down

0 comments on commit bde8c59

Please sign in to comment.