[Bf-blender-cvs] [15ac4b4] blender-v2.77-release: Fix uninitialized memory use lattice-boundbox
Campbell Barton
noreply at git.blender.org
Fri Mar 4 17:36:19 CET 2016
Commit: 15ac4b4f9b7223251ecb89806a54f71f7d57afe3
Author: Campbell Barton
Date: Fri Mar 4 21:50:54 2016 +1100
Branches: blender-v2.77-release
https://developer.blender.org/rB15ac4b4f9b7223251ecb89806a54f71f7d57afe3
Fix uninitialized memory use lattice-boundbox
Many other places weren't clearing boundbox dirty flag after calculation.
===================================================================
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/armature.c
M source/blender/blenkernel/intern/displist.c
M source/blender/blenkernel/intern/lattice.c
M source/blender/blenkernel/intern/mball.c
===================================================================
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 423e897..fb98cc1 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -3655,6 +3655,8 @@ void DM_set_object_boundbox(Object *ob, DerivedMesh *dm)
ob->bb = MEM_callocN(sizeof(BoundBox), "DM-BoundBox");
BKE_boundbox_init_from_minmax(ob->bb, min, max);
+
+ ob->bb->flag &= ~BOUNDBOX_DIRTY;
}
/* --- NAVMESH (begin) --- */
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 74fffdd..54fe989 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -2221,8 +2221,7 @@ static void boundbox_armature(Object *ob)
float min[3], max[3];
if (ob->bb == NULL) {
- ob->bb = MEM_mallocN(sizeof(BoundBox), "Armature boundbox");
- ob->bb->flag = 0;
+ ob->bb = MEM_callocN(sizeof(BoundBox), "Armature boundbox");
}
bb = ob->bb;
@@ -2233,6 +2232,8 @@ static void boundbox_armature(Object *ob)
}
BKE_boundbox_init_from_minmax(bb, min, max);
+
+ bb->flag &= ~BOUNDBOX_DIRTY;
}
BoundBox *BKE_armature_boundbox_get(Object *ob)
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index a2d555d..98cbe47 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -1861,6 +1861,8 @@ static void boundbox_displist_object(Object *ob)
INIT_MINMAX(min, max);
BKE_displist_minmax(&ob->curve_cache->disp, min, max);
BKE_boundbox_init_from_minmax(ob->bb, min, max);
+
+ ob->bb->flag &= ~BOUNDBOX_DIRTY;
}
}
}
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c
index 1992eab..57c02ec 100644
--- a/source/blender/blenkernel/intern/lattice.c
+++ b/source/blender/blenkernel/intern/lattice.c
@@ -1152,8 +1152,9 @@ static void boundbox_lattice(Object *ob)
Lattice *lt;
float min[3], max[3];
- if (ob->bb == NULL)
- ob->bb = MEM_mallocN(sizeof(BoundBox), "Lattice boundbox");
+ if (ob->bb == NULL) {
+ ob->bb = MEM_callocN(sizeof(BoundBox), "Lattice boundbox");
+ }
bb = ob->bb;
lt = ob->data;
@@ -1161,6 +1162,8 @@ static void boundbox_lattice(Object *ob)
INIT_MINMAX(min, max);
BKE_lattice_minmax_dl(ob, lt, min, max);
BKE_boundbox_init_from_minmax(bb, min, max);
+
+ bb->flag &= ~BOUNDBOX_DIRTY;
}
BoundBox *BKE_lattice_boundbox_get(Object *ob)
diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c
index 1d409e9..d7019aa 100644
--- a/source/blender/blenkernel/intern/mball.c
+++ b/source/blender/blenkernel/intern/mball.c
@@ -292,6 +292,8 @@ void BKE_mball_texspace_calc(Object *ob)
size[2] = (max[2] - min[2]) / 2.0f;
#endif
BKE_boundbox_init_from_minmax(bb, min, max);
+
+ bb->flag &= ~BOUNDBOX_DIRTY;
}
float *BKE_mball_make_orco(Object *ob, ListBase *dispbase)
More information about the Bf-blender-cvs
mailing list