summaryrefslogtreecommitdiff
path: root/servers/physics
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2017-07-25 04:18:03 +0200
committerPedro J. Estébanez <pedrojrulez@gmail.com>2017-07-25 04:45:01 +0200
commitbc1d58c50d65818863b620a4871e327c5f1c6bb6 (patch)
tree9a81923399fd55c836c835c1ea831acd98401b3b /servers/physics
parent507b48179f773d6495ce62947c7f55564fde4a67 (diff)
Extend check for same space to all 2D/3D bodies/shapes
Diffstat (limited to 'servers/physics')
-rw-r--r--servers/physics/physics_server_sw.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/servers/physics/physics_server_sw.cpp b/servers/physics/physics_server_sw.cpp
index 101bd4b185..51d376cfa5 100644
--- a/servers/physics/physics_server_sw.cpp
+++ b/servers/physics/physics_server_sw.cpp
@@ -222,12 +222,16 @@ void PhysicsServerSW::area_set_space(RID p_area, RID p_space) {
AreaSW *area = area_owner.get(p_area);
ERR_FAIL_COND(!area);
+
SpaceSW *space = NULL;
if (p_space.is_valid()) {
space = space_owner.get(p_space);
ERR_FAIL_COND(!space);
}
+ if (area->get_space() == space)
+ return; //pointless
+
area->set_space(space);
};
@@ -471,15 +475,15 @@ void PhysicsServerSW::body_set_space(RID p_body, RID p_space) {
BodySW *body = body_owner.get(p_body);
ERR_FAIL_COND(!body);
- SpaceSW *space = NULL;
+ SpaceSW *space = NULL;
if (p_space.is_valid()) {
space = space_owner.get(p_space);
ERR_FAIL_COND(!space);
}
if (body->get_space() == space)
- return; //pointles
+ return; //pointless
body->set_space(space);
};