diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-04 11:44:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-04 11:44:42 +0300 |
commit | e9ce90c23834e0f9154ab97326a55db62d62b4d7 (patch) | |
tree | 83aaf08425b7ec7660a11760e67eaece23a0005b /source/blender/render | |
parent | 3c6b721fc90f5dc387c4493e0d78e77b728079b7 (diff) |
Fix bug #19699: point density texture doesn't save particle system.
Non-ID pointers in DNA can only point to data from own ID block, so
now instead it uses an index into the particle system list, but still
exposed as a pointer through RNA.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/pointdensity.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/pointdensity.c b/source/blender/render/intern/source/pointdensity.c index c1cca4e217a..2b3e6047af4 100644 --- a/source/blender/render/intern/source/pointdensity.c +++ b/source/blender/render/intern/source/pointdensity.c @@ -236,11 +236,14 @@ static void cache_pointdensity(Render *re, Tex *tex) if (pd->source == TEX_PD_PSYS) { Object *ob = pd->object; + ParticleSystem *psys; - if (!ob) return; - if (!pd->psys) return; + if (!ob || !pd->psys) return; + + psys= BLI_findlink(&ob->particlesystem, pd->psys-1); + if (!psys) return; - pointdensity_cache_psys(re, pd, ob, pd->psys); + pointdensity_cache_psys(re, pd, ob, psys); } else if (pd->source == TEX_PD_OBJECT) { Object *ob = pd->object; |