diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-02-02 17:01:58 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-02-02 17:01:58 +0300 |
commit | 6290df0cf477475b8b769b0c0002e81ee70fc929 (patch) | |
tree | 129ff40bde4e31632a6d5df88b13b05dff6eed4a /source/blender/blenkernel/intern/particle_system.c | |
parent | 4ceea37db4857c3d87624b15087c5dde5261311d (diff) |
Fix T46382: Crash sharing particle system with clump or rough curves
Made those curves local to thread evaluation now, so there is no
threading conflict accessing them from evaluation threads anymore.
Diffstat (limited to 'source/blender/blenkernel/intern/particle_system.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 429784fb41d..01112d42804 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -72,6 +72,7 @@ #include "BKE_boids.h" #include "BKE_cdderivedmesh.h" #include "BKE_collision.h" +#include "BKE_colortools.h" #include "BKE_effect.h" #include "BKE_library_query.h" #include "BKE_particle.h" @@ -511,6 +512,13 @@ void psys_thread_context_free(ParticleThreadContext *ctx) if (ctx->seams) MEM_freeN(ctx->seams); //if (ctx->vertpart) MEM_freeN(ctx->vertpart); BLI_kdtree_free(ctx->tree); + + if (ctx->clumpcurve != NULL) { + curvemapping_free(ctx->clumpcurve); + } + if (ctx->roughcurve != NULL) { + curvemapping_free(ctx->roughcurve); + } } static void initialize_particle_texture(ParticleSimulationData *sim, ParticleData *pa, int p) |