solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

commit 1bfe98e915de83c5ea89a04b98158921af0eaae5
parent f29fd5d2a5f70f97f054e43029803f7cb4635816
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 19 May 2017 17:19:55 +0200

Fix issue #27 (crash when using thin_dielectric materials).

Diffstat:
Msrc/ssol_material.c | 7++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/ssol_material.c b/src/ssol_material.c @@ -320,6 +320,11 @@ material_release(ref_T* ref) ASSERT(ref); dev = material->dev; if(material->buf) SSOL(param_buffer_ref_put(material->buf)); + if(material->type == SSOL_MATERIAL_THIN_DIELECTRIC) { + ssol_medium_clear(&material->data.thin_dielectric.slab_medium); + } + ssol_medium_clear(&material->in_medium); + ssol_medium_clear(&material->out_medium); ASSERT(dev && dev->allocator); MEM_RM(dev->allocator, material); SSOL(device_ref_put(dev)); @@ -500,7 +505,7 @@ ssol_thin_dielectric_setup || !check_medium(slab_medium) || thickness < 0) return RES_BAD_ARG; - material->data.thin_dielectric.slab_medium = *slab_medium; + ssol_medium_copy(&material->data.thin_dielectric.slab_medium, slab_medium); material->data.thin_dielectric.thickness = thickness; ssol_medium_copy(&material->out_medium, outside_medium); ssol_medium_copy(&material->in_medium, outside_medium);