Fix #20400: hair particles do not render when in "particle mode"
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 14 Feb 2010 15:11:39 +0000 (15:11 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 14 Feb 2010 15:11:39 +0000 (15:11 +0000)
if children present.

source/blender/blenkernel/intern/particle.c

index 31336b32bf53ffaedb2647a3a8c5f3d4538d6d8b..b88df677c9b6ef2cc14078eb9c443b7516a03f4b 100644 (file)
@@ -60,6 +60,7 @@
 #include "BLI_threads.h"
 
 #include "BKE_anim.h"
+#include "BKE_animsys.h"
 
 #include "BKE_boids.h"
 #include "BKE_cloth.h"
@@ -254,7 +255,7 @@ void psys_enable_all(Object *ob)
 }
 int psys_in_edit_mode(Scene *scene, ParticleSystem *psys)
 {
-       return (scene->basact && (scene->basact->object->mode & OB_MODE_PARTICLE_EDIT) && psys==psys_get_current((scene->basact)->object) && (psys->edit || psys->pointcache->edit));
+       return (scene->basact && (scene->basact->object->mode & OB_MODE_PARTICLE_EDIT) && psys==psys_get_current((scene->basact)->object) && (psys->edit || psys->pointcache->edit) && !psys->renderdata);
 }
 static void psys_create_frand(ParticleSystem *psys)
 {
@@ -370,6 +371,7 @@ int psys_uses_gravity(ParticleSimulationData *sim)
 /************************************************/
 void psys_free_settings(ParticleSettings *part)
 {
+       BKE_free_animdata(&part->id);
        free_partdeflect(part->pd);
        free_partdeflect(part->pd2);