[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34331] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: Fix for [#25633] Particles display switching causes crash when Velocity disp.
Janne Karhu
jhkarh at gmail.com
Sat Jan 15 13:29:23 CET 2011
Revision: 34331
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34331
Author: jhk
Date: 2011-01-15 12:29:22 +0000 (Sat, 15 Jan 2011)
Log Message:
-----------
Fix for [#25633] Particles display switching causes crash when Velocity disp. ON
* Particle draw data wasn't freed properly in some cases.
* Velocity + circle draw type also crashed due to missing null pointer check.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/drawobject.c
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2011-01-15 12:00:15 UTC (rev 34330)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2011-01-15 12:29:22 UTC (rev 34331)
@@ -3684,6 +3684,11 @@
pdd->nd= pdd->ndata;
pdd->tot_vec_size= tot_vec_size;
}
+ else if(psys->pdd) {
+ psys_free_pdd(psys);
+ MEM_freeN(psys->pdd);
+ pdd = psys->pdd = NULL;
+ }
if(pdd) {
pdd->ma_r = &ma_r;
@@ -3842,7 +3847,7 @@
if(drawn) {
/* additional things to draw for each particle */
/* (velocity, size and number) */
- if((part->draw & PART_DRAW_VEL) && pdd->vedata){
+ if((part->draw & PART_DRAW_VEL) && pdd && pdd->vedata){
copy_v3_v3(pdd->ved,state.co);
pdd->ved += 3;
mul_v3_v3fl(vel, state.vel, timestep);
More information about the Bf-blender-cvs
mailing list