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>2008-05-06 01:10:32 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-05-06 01:10:32 +0400
commitb6f5679cf5707c2027f6629e8f61c24d14bd54e9 (patch)
treee530023e3ffccfb48862d6b63d121461245a9a87 /source/blender
parent95ed34be4a6bf71e14740ed6232033443484dd86 (diff)
Fix for bug #10542: changing particle visualisation type from object to
something else didn't work correct. Fix for bug #10478: particle system point cache problem.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/particle_system.c3
-rw-r--r--source/blender/src/buttons_object.c10
2 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 9dd21cdda4e..596c381b896 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -4763,6 +4763,9 @@ static void system_step(Object *ob, ParticleSystem *psys, ParticleSystemModifier
psys_update_path_cache(ob,psmd,psys,framenr);
}
+ cache->simframe= framenr;
+ cache->flag |= PTCACHE_SIMULATION_VALID;
+
return;
}
else if(ob->id.lib || (cache->flag & PTCACHE_BAKED)) {
diff --git a/source/blender/src/buttons_object.c b/source/blender/src/buttons_object.c
index 37becdc8912..0cfc2047aec 100644
--- a/source/blender/src/buttons_object.c
+++ b/source/blender/src/buttons_object.c
@@ -3010,6 +3010,16 @@ void do_effects_panels(unsigned short event)
case B_PART_INIT_CHILD:
case B_PART_RECALC_CHILD:
if(psys) {
+ nr=0;
+ for(psys=ob->particlesystem.first; psys; psys=psys->next){
+ if(ELEM(psys->part->draw_as,PART_DRAW_OB,PART_DRAW_GR))
+ nr++;
+ }
+ if(nr)
+ ob->transflag |= OB_DUPLIPARTS;
+ else
+ ob->transflag &= ~OB_DUPLIPARTS;
+
DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWBUTSOBJECT, 0);