[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12719] trunk/blender/source/blender/src/ editparticle.c:
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Nov 29 14:34:38 CET 2007
Revision: 12719
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12719
Author: blendix
Date: 2007-11-29 14:34:38 +0100 (Thu, 29 Nov 2007)
Log Message:
-----------
Bugfix:
Particle edit mode option interpolated for the add brush crashed with
no existing particles.
Modified Paths:
--------------
trunk/blender/source/blender/src/editparticle.c
Modified: trunk/blender/source/blender/src/editparticle.c
===================================================================
--- trunk/blender/source/blender/src/editparticle.c 2007-11-29 13:05:38 UTC (rev 12718)
+++ trunk/blender/source/blender/src/editparticle.c 2007-11-29 13:34:38 UTC (rev 12719)
@@ -1703,10 +1703,10 @@
}
}
- MEM_freeN(psys->particles);
+ if(psys->particles) MEM_freeN(psys->particles);
psys->particles = new_pars;
- MEM_freeN(edit->keys);
+ if(edit->keys) MEM_freeN(edit->keys);
edit->keys = new_keys;
if(edit->mirror_cache) {
@@ -2256,10 +2256,10 @@
memcpy(new_keys, edit->keys, totpart * sizeof(ParticleEditKey*));
/* change old arrays to new ones */
- MEM_freeN(psys->particles);
+ if(psys->particles) MEM_freeN(psys->particles);
psys->particles = new_pars;
- MEM_freeN(edit->keys);
+ if(edit->keys) MEM_freeN(edit->keys);
edit->keys = new_keys;
if(edit->mirror_cache) {
@@ -2267,8 +2267,6 @@
edit->mirror_cache = NULL;
}
- psys->totpart = newtotpart;
-
/* create tree for interpolation */
if(pset->flag & PE_INTERPOLATE_ADDED && psys->totpart){
tree=BLI_kdtree_new(psys->totpart);
@@ -2281,6 +2279,8 @@
BLI_kdtree_balance(tree);
}
+ psys->totpart = newtotpart;
+
/* create new elements */
pa = psys->particles + totpart;
key = edit->keys + totpart;
@@ -2691,10 +2691,10 @@
memcpy(new_pars, psys->particles, totpart*sizeof(ParticleData));
memcpy(new_keys, edit->keys, totpart*sizeof(ParticleEditKey*));
- MEM_freeN(psys->particles);
+ if(psys->particles) MEM_freeN(psys->particles);
psys->particles= new_pars;
- MEM_freeN(edit->keys);
+ if(edit->keys) MEM_freeN(edit->keys);
edit->keys= new_keys;
if(edit->mirror_cache) {
More information about the Bf-blender-cvs
mailing list