summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIbrahn Sahir <ibrahn.sahir@gmail.com>2017-12-29 17:02:40 +0000
committerIbrahn Sahir <ibrahn.sahir@gmail.com>2018-01-03 15:52:47 +0000
commit75c624e119998c4286a3d13e33233f44924f324a (patch)
treeff152e846595a3f0f76e8c41d4c6057893496887
parentc595aff4a30f79cc75a30decfad7243c03824bab (diff)
RasterizerStorageGLES3, delete particle objects freed by RID
fixes #15151
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index 0ed0dbe0c0..bcac9101f5 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -6943,6 +6943,10 @@ bool RasterizerStorageGLES3::free(RID p_rid) {
glDeleteTextures(1, &cls->distance);
canvas_light_shadow_owner.free(p_rid);
memdelete(cls);
+ } else if (particles_owner.owns(p_rid)) {
+ Particles *particles = particles_owner.get(p_rid);
+ particles_owner.free(p_rid);
+ memdelete(particles);
} else {
return false;
}