[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12748] trunk/blender/source/blender/ blenkernel/intern/object.c:
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Dec 1 21:08:31 CET 2007
Revision: 12748
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12748
Author: blendix
Date: 2007-12-01 21:08:31 +0100 (Sat, 01 Dec 2007)
Log Message:
-----------
Bugfix:
Duplicating or separating objects with a particle system could crash.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/object.c
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2007-12-01 19:29:50 UTC (rev 12747)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2007-12-01 20:08:31 UTC (rev 12748)
@@ -1006,12 +1006,26 @@
ParticleSystem *copy_particlesystem(ParticleSystem *psys)
{
ParticleSystem *psysn;
+ ParticleData *pa;
+ int a;
psysn= MEM_dupallocN(psys);
psysn->particles= MEM_dupallocN(psys->particles);
-
psysn->child= MEM_dupallocN(psys->child);
+ for(a=0, pa=psysn->particles; a<psysn->totpart; a++, pa++) {
+ if(pa->hair)
+ pa->hair= MEM_dupallocN(pa->hair);
+ if(pa->keys)
+ pa->keys= MEM_dupallocN(pa->keys);
+ }
+
+ if(psys->soft)
+ psysn->soft= copy_softbody(psys->soft);
+
+ psysn->pathcache= NULL;
+ psysn->childcache= NULL;
+ psysn->edit= NULL;
psysn->effectors.first= psysn->effectors.last= 0;
id_us_plus((ID *)psysn->part);
More information about the Bf-blender-cvs
mailing list