[Bf-blender-cvs] [d3eb022] gooseberry: Replacing boundbox temporarily during drawing is dangerous, since it can be freed at any point.

Lukas Tönne noreply at git.blender.org
Mon Mar 23 13:04:32 CET 2015


Commit: d3eb022b1099ad88f3896bf76e1aa99caec63f96
Author: Lukas Tönne
Date:   Fri Mar 20 10:18:57 2015 +0100
Branches: gooseberry
https://developer.blender.org/rBd3eb022b1099ad88f3896bf76e1aa99caec63f96

Replacing boundbox temporarily during drawing is dangerous, since it
can be freed at any point.

Luckily we only need the boundbox locally for testing dupli visibility.

===================================================================

M	source/blender/editors/space_view3d/view3d_draw.c

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 30b4f7a..6c25fb8 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2114,11 +2114,9 @@ static void draw_dupli_objects_color(
 	for (; dob; dob_prev = dob, dob = dob_next, dob_next = dob_next ? dupli_step(dob_next->next) : NULL) {
 		/* for restoring after override */
 		DerivedMesh *store_final_dm;
-		BoundBox *store_bb;
 
 		tbase.object = dob->ob;
 		store_final_dm = dob->ob->derivedFinal;
-		store_bb = dob->ob->bb;
 
 		/* Make sure lod is updated from dupli's position */
 
@@ -2164,7 +2162,7 @@ static void draw_dupli_objects_color(
 				tbase.flag |= OB_FROMCACHE;
 				
 				tbase.object->derivedFinal = dob_data->cache_dm;
-				tbase.object->bb = bb_tmp = &dob_data->bb;
+				bb_tmp = &dob_data->bb;
 			}
 		}
 		if (!bb_tmp)
@@ -2243,7 +2241,6 @@ static void draw_dupli_objects_color(
 		
 		/* restore final DM */
 		tbase.object->derivedFinal = store_final_dm;
-		tbase.object->bb = store_bb;
 	}
 
 	if (apply_data) {




More information about the Bf-blender-cvs mailing list