summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-05-08 12:20:57 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-05-08 12:20:57 +0200
commit41f1ec1efe566d684f94e71129f6ac9f512130ea (patch)
treee827539184efd93259db91be599b4881cc74552f
parent353efd774fe323f124180fda8dae2f1af018aea1 (diff)
parent01c32dffafddd52e65b8413034b2f5283523da92 (diff)
downloadredot-engine-41f1ec1efe566d684f94e71129f6ac9f512130ea.tar.gz
Merge pull request #76798 from KoBeWi/race_condition_except_there_is_no_thread
Fix another collision shape editor crash
-rw-r--r--editor/plugins/collision_shape_2d_editor_plugin.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp
index 15c40a5cb3..22ce3e2d6e 100644
--- a/editor/plugins/collision_shape_2d_editor_plugin.cpp
+++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp
@@ -441,7 +441,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
switch (shape_type) {
case CAPSULE_SHAPE: {
- Ref<CapsuleShape2D> shape = node->get_shape();
+ Ref<CapsuleShape2D> shape = current_shape;
handles.resize(2);
float radius = shape->get_radius();
@@ -456,7 +456,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
} break;
case CIRCLE_SHAPE: {
- Ref<CircleShape2D> shape = node->get_shape();
+ Ref<CircleShape2D> shape = current_shape;
handles.resize(1);
handles.write[0] = Point2(shape->get_radius(), 0);
@@ -472,7 +472,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
} break;
case WORLD_BOUNDARY_SHAPE: {
- Ref<WorldBoundaryShape2D> shape = node->get_shape();
+ Ref<WorldBoundaryShape2D> shape = current_shape;
handles.resize(2);
handles.write[0] = shape->get_normal() * shape->get_distance();
@@ -484,7 +484,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
} break;
case SEPARATION_RAY_SHAPE: {
- Ref<SeparationRayShape2D> shape = node->get_shape();
+ Ref<SeparationRayShape2D> shape = current_shape;
handles.resize(1);
handles.write[0] = Point2(0, shape->get_length());
@@ -494,7 +494,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
} break;
case RECTANGLE_SHAPE: {
- Ref<RectangleShape2D> shape = node->get_shape();
+ Ref<RectangleShape2D> shape = current_shape;
handles.resize(8);
Vector2 ext = shape->get_size() / 2;
@@ -506,7 +506,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
} break;
case SEGMENT_SHAPE: {
- Ref<SegmentShape2D> shape = node->get_shape();
+ Ref<SegmentShape2D> shape = current_shape;
handles.resize(2);
handles.write[0] = shape->get_a();