Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-11-04 11:44:42 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-11-04 11:44:42 +0300
commite9ce90c23834e0f9154ab97326a55db62d62b4d7 (patch)
tree83aaf08425b7ec7660a11760e67eaece23a0005b /source/blender/render
parent3c6b721fc90f5dc387c4493e0d78e77b728079b7 (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.c9
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;