Browse Source

Merge pull request #47038 from JFonS/fix_renderer_rid_crash

[3.3] Fix crash in GLES3 renderer on release builds
Rémi Verschelde 4 years ago
parent
commit
a2dd77867e
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/gles3/rasterizer_scene_gles3.cpp

+ 5 - 0
drivers/gles3/rasterizer_scene_gles3.cpp

@@ -4961,6 +4961,11 @@ bool RasterizerSceneGLES3::free(RID p_rid) {
 
 
 		LightInstance *light_instance = light_instance_owner.getptr(p_rid);
 		LightInstance *light_instance = light_instance_owner.getptr(p_rid);
 
 
+		// Make sure first_directional_light is invalidated
+		if (p_rid == first_directional_light) {
+			first_directional_light = RID();
+		}
+
 		//remove from shadow atlases..
 		//remove from shadow atlases..
 		for (Set<RID>::Element *E = light_instance->shadow_atlases.front(); E; E = E->next()) {
 		for (Set<RID>::Element *E = light_instance->shadow_atlases.front(); E; E = E->next()) {
 			ShadowAtlas *shadow_atlas = shadow_atlas_owner.get(E->get());
 			ShadowAtlas *shadow_atlas = shadow_atlas_owner.get(E->get());