aboutsummaryrefslogtreecommitdiff
path: root/servers/visual
diff options
context:
space:
mode:
authorWilson E. Alvarez2017-08-25 11:14:33 -0400
committerWilson E. Alvarez2017-08-26 16:58:47 -0400
commit7a07895920196c00d1ee14187e4ccdb2a6f0d0b9 (patch)
treed8acd6c8d53717c3a4ec205b000ac8f0ff1fc985 /servers/visual
parent53c0010932f9c1becb63c16243f3a00ede359989 (diff)
downloadgodot-7a07895.tar.gz
godot-7a07895.tar.zst
godot-7a07895.zip
Added/Fixed null pointer checks
Diffstat (limited to 'servers/visual')
-rw-r--r--servers/visual/visual_server_canvas.cpp14
-rw-r--r--servers/visual/visual_server_scene.cpp7
2 files changed, 11 insertions, 10 deletions
diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp
index 13517fa40..931e08424 100644
--- a/servers/visual/visual_server_canvas.cpp
+++ b/servers/visual/visual_server_canvas.cpp
@@ -1099,13 +1099,15 @@ void VisualServerCanvas::canvas_light_occluder_set_polygon(RID p_occluder, RID p
if (occluder->polygon.is_valid()) {
LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.get(p_polygon);
- if (!occluder_poly)
+ if (!occluder_poly) {
occluder->polygon = RID();
- ERR_FAIL_COND(!occluder_poly);
- occluder_poly->owners.insert(occluder);
- occluder->polygon_buffer = occluder_poly->occluder;
- occluder->aabb_cache = occluder_poly->aabb;
- occluder->cull_cache = occluder_poly->cull_mode;
+ ERR_FAIL_COND(!occluder_poly);
+ } else {
+ occluder_poly->owners.insert(occluder);
+ occluder->polygon_buffer = occluder_poly->occluder;
+ occluder->aabb_cache = occluder_poly->aabb;
+ occluder->cull_cache = occluder_poly->cull_mode;
+ }
}
}
void VisualServerCanvas::canvas_light_occluder_set_transform(RID p_occluder, const Transform2D &p_xform) {
diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp
index fc9583d79..a0c742027 100644
--- a/servers/visual/visual_server_scene.cpp
+++ b/servers/visual/visual_server_scene.cpp
@@ -1482,11 +1482,10 @@ void VisualServerScene::_render_scene(const Transform p_cam_transform, const Cam
if (light && p_shadow_atlas.is_valid() && VSG::storage->light_has_shadow(E->get()->base)) {
lights_with_shadow[directional_shadow_count++] = E->get();
- }
-
- //add to list
- directional_light_ptr[directional_light_count++] = light->instance;
+ //add to list
+ directional_light_ptr[directional_light_count++] = light->instance;
+ }
}
VSG::scene_render->set_directional_shadow_count(directional_shadow_count);