[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