[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