[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20161] trunk/blender/source/blender/ blenkernel/intern: Ugh, yet another try to fix [#18697] 2.49RC1: Keyed Particles fine in viewport but give me a crash during render.

Janne Karhu jhkarh at utu.fi
Mon May 11 21:19:36 CEST 2009


Revision: 20161
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20161
Author:   jhk
Date:     2009-05-11 21:19:36 +0200 (Mon, 11 May 2009)

Log Message:
-----------
Ugh, yet another try to fix [#18697] 2.49RC1: Keyed Particles fine in viewport but give me a crash during render.

Hopefully it's now fixed for good.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/blenkernel/intern/particle_system.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2009-05-11 18:42:24 UTC (rev 20160)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2009-05-11 19:19:36 UTC (rev 20161)
@@ -351,8 +351,18 @@
 }
 void free_keyed_keys(ParticleSystem *psys)
 {
-	if(psys->particles && psys->particles->keys)
+	ParticleData *pa;
+	int i;
+
+	if(psys->particles && psys->particles->keys) {
 		MEM_freeN(psys->particles->keys);
+
+		for(i=0, pa=psys->particles; i<psys->totpart; i++, pa++)
+		if(pa->keys) {
+			pa->keys= NULL;
+			pa->totkey= 0;
+		}
+	}
 }
 void free_child_path_cache(ParticleSystem *psys)
 {

Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c	2009-05-11 18:42:24 UTC (rev 20160)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c	2009-05-11 19:19:36 UTC (rev 20161)
@@ -203,7 +203,7 @@
 		if(psys->particles->keys)
 			MEM_freeN(psys->particles->keys);
 
-		for(i=totsaved, pa=psys->particles+totsaved; i<psys->totpart; i++, pa++)
+		for(i=0, pa=psys->particles; i<psys->totpart; i++, pa++)
 			if(pa->keys) {
 				pa->keys= NULL;
 				pa->totkey= 0;





More information about the Bf-blender-cvs mailing list