Browse Source

Merge pull request #15170 from ibrahn/fix-particle-leak

RasterizerStorageGLES3, delete particle objects freed by RID
Rémi Verschelde 7 years ago
parent
commit
72d3c474b0
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/gles3/rasterizer_storage_gles3.cpp

+ 4 - 0
drivers/gles3/rasterizer_storage_gles3.cpp

@@ -6943,6 +6943,10 @@ bool RasterizerStorageGLES3::free(RID p_rid) {
 		glDeleteTextures(1, &cls->distance);
 		glDeleteTextures(1, &cls->distance);
 		canvas_light_shadow_owner.free(p_rid);
 		canvas_light_shadow_owner.free(p_rid);
 		memdelete(cls);
 		memdelete(cls);
+	} else if (particles_owner.owns(p_rid)) {
+		Particles *particles = particles_owner.get(p_rid);
+		particles_owner.free(p_rid);
+		memdelete(particles);
 	} else {
 	} else {
 		return false;
 		return false;
 	}
 	}