summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien JAUNY <bastien.jauny@gmail.com>2021-10-23 16:22:29 +0200
committerBastien JAUNY <bastien.jauny@gmail.com>2021-10-27 20:41:14 +0200
commit258b5d001968aea99d2d7a2eea98a8032da34349 (patch)
tree14e687ea80855542078fde534e5d554e62462623
parent2a28df82d4979c3ca77c16ee9ae64c5a4f50a925 (diff)
Fix potential null pointer use, based on #54094 fix
-rw-r--r--scene/2d/collision_object_2d.cpp4
-rw-r--r--scene/3d/collision_object_3d.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/scene/2d/collision_object_2d.cpp b/scene/2d/collision_object_2d.cpp
index 6916f832d0..c9668f4479 100644
--- a/scene/2d/collision_object_2d.cpp
+++ b/scene/2d/collision_object_2d.cpp
@@ -50,7 +50,9 @@ void CollisionObject2D::_notification(int p_what) {
}
if (!disabled || (disable_mode != DISABLE_MODE_REMOVE)) {
- RID space = get_world_2d()->get_space();
+ Ref<World2D> world_ref = get_world_2d();
+ ERR_FAIL_COND(!world_ref.is_valid());
+ RID space = world_ref->get_space();
if (area) {
PhysicsServer2D::get_singleton()->area_set_space(rid, space);
} else {
diff --git a/scene/3d/collision_object_3d.cpp b/scene/3d/collision_object_3d.cpp
index 814ed5c2a7..9958d6d3d5 100644
--- a/scene/3d/collision_object_3d.cpp
+++ b/scene/3d/collision_object_3d.cpp
@@ -64,7 +64,9 @@ void CollisionObject3D::_notification(int p_what) {
}
if (!disabled || (disable_mode != DISABLE_MODE_REMOVE)) {
- RID space = get_world_3d()->get_space();
+ Ref<World3D> world_ref = get_world_3d();
+ ERR_FAIL_COND(!world_ref.is_valid());
+ RID space = world_ref->get_space();
if (area) {
PhysicsServer3D::get_singleton()->area_set_space(rid, space);
} else {