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

Lukas Tönne noreply at git.blender.org
Fri Mar 20 10:43:16 CET 2015


Commit: 229befd147a9e06202b24c1fd3e7ec8a0da59cc8
Author: Lukas Tönne
Date:   Fri Mar 20 10:18:57 2015 +0100
Branches: alembic_pointcache
https://developer.blender.org/rB229befd147a9e06202b24c1fd3e7ec8a0da59cc8

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 689d190..4dccf5a 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2053,11 +2053,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 */
 
@@ -2103,7 +2101,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)
@@ -2181,7 +2179,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