[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12439] branches/particles/source/blender: simple crash fixes when particle data was NULL.

Campbell Barton cbarton at metavr.com
Tue Oct 30 22:56:34 CET 2007


Revision: 12439
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12439
Author:   campbellbarton
Date:     2007-10-30 22:56:33 +0100 (Tue, 30 Oct 2007)

Log Message:
-----------
simple crash fixes when particle data was NULL.

Modified Paths:
--------------
    branches/particles/source/blender/blenkernel/intern/particle.c
    branches/particles/source/blender/src/drawobject.c

Modified: branches/particles/source/blender/blenkernel/intern/particle.c
===================================================================
--- branches/particles/source/blender/blenkernel/intern/particle.c	2007-10-30 18:08:31 UTC (rev 12438)
+++ branches/particles/source/blender/blenkernel/intern/particle.c	2007-10-30 21:56:33 UTC (rev 12439)
@@ -1441,7 +1441,7 @@
 
 	/*---start figuring out what is actually wanted---*/
 	if(ob==OBACT && G.f & G_PARTICLEEDIT && psys==psys_get_current(ob)){
-		if(G.rendering==0 && (psys->edit->flag & PE_SHOW_CHILD)==0)
+		if(G.rendering==0 && (psys->edit==NULL || psys->edit->flag & PE_SHOW_CHILD)==0)
 			totchild=0;
 		edit=1;
 	}
@@ -2937,15 +2937,17 @@
 		//		do_postkink(state,key1,t,part->kink_freq,part->kink_shape,part->kink_amp,part->kink,part->kink_axis,ob->obmat);
 
 		//}
-		//else{
-			copy_particle_key(state,&pa->state,0);
+		//else{
+			if (pa) { /* TODO PARTICLE - should this ever be NULL? - Campbell */
+				copy_particle_key(state,&pa->state,0);
 
-			if(pa->alive==PARS_DEAD && part->flag&PART_STICKY && pa->flag&PARS_STICKY && pa->stick_ob){
-				key_from_object(pa->stick_ob,state);
+				if(pa->alive==PARS_DEAD && part->flag&PART_STICKY && pa->flag&PARS_STICKY && pa->stick_ob){
+					key_from_object(pa->stick_ob,state);
+				}
+
+				if(psys->lattice)
+					calc_latt_deform(state->co,1.0f);
 			}
-
-			if(psys->lattice)
-				calc_latt_deform(state->co,1.0f);
 		//}
 		
 		return 1;

Modified: branches/particles/source/blender/src/drawobject.c
===================================================================
--- branches/particles/source/blender/src/drawobject.c	2007-10-30 18:08:31 UTC (rev 12438)
+++ branches/particles/source/blender/src/drawobject.c	2007-10-30 21:56:33 UTC (rev 12439)
@@ -5038,7 +5038,7 @@
 		}
 		if(G.f&G_PARTICLEEDIT && ob==OBACT && ob->particlesystem.first){
 			ParticleSystem *psys = PE_get_current(ob);
-			if(psys->edit)
+			if(psys && psys->edit)
 				draw_particle_edit(ob, psys);
 		}
 		if(col) cpack(col);





More information about the Bf-blender-cvs mailing list