diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-01-22 14:03:55 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-01-22 14:03:55 +0300 |
commit | cbc4aae06a9b3878b0af68884a75b953e3c8612b (patch) | |
tree | a78995019e14771bcca43c51a3f2d27cd9e2110e /source/blender/blenkernel/intern/effect.c | |
parent | 00318eaa2eedfd0f1b8af12bd4a7f664b6ef1b89 (diff) |
Fix crash rendering grass_wind.blend from regression tests. The real
problem is that where_is_object is being called from multiple threads
but is not thread-safe, added a note about this problem, this commit
only solves the crash. Also remove the pushdata/popdata mechanism
that was being used here, using this kind of system is bound to give
problems with threading.
Diffstat (limited to 'source/blender/blenkernel/intern/effect.c')
-rw-r--r-- | source/blender/blenkernel/intern/effect.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 83f63c9ffb2..b261d3365af 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -658,6 +658,8 @@ int get_effector_data(EffectorCache *eff, EffectorData *efd, EffectedPoint *poin Object *ob = eff->ob; Object obcopy = *ob; + /* XXX this is not thread-safe, but used from multiple threads by + particle system */ where_is_object_time(eff->scene, ob, cfra); /* use z-axis as normal*/ |