Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2018-08-23 22:26:44 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-08-23 22:40:43 +0300
commita6b65c75cd2d08afb0bc9543e0528ac583b720a3 (patch)
treec9750adafa6576a26cd96525e8852041e9ff176d /source/blender/blenkernel/intern/mball.c
parent8ec74106f83f02d170facb75868783ccae5a222f (diff)
Fix T56360: metaball viewport checkbox crash.
Do same as for other geometry types to compute bbox, instead of blindly returning NULL `ob->bb`...
Diffstat (limited to 'source/blender/blenkernel/intern/mball.c')
-rw-r--r--source/blender/blenkernel/intern/mball.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c
index bc2d7ed79d5..5e4f5614370 100644
--- a/source/blender/blenkernel/intern/mball.c
+++ b/source/blender/blenkernel/intern/mball.c
@@ -238,6 +238,23 @@ void BKE_mball_texspace_calc(Object *ob)
bb->flag &= ~BOUNDBOX_DIRTY;
}
+/** Return or compute bbox for given metaball object. */
+BoundBox *BKE_mball_boundbox_get(Object *ob)
+{
+ BLI_assert(ob->type == OB_MBALL);
+
+ if (ob->bb != NULL && (ob->bb->flag & BOUNDBOX_DIRTY) == 0) {
+ return ob->bb;
+ }
+
+ /* This should always only be called with evaluated objects, but currently RNA is a problem here... */
+ if (ob->runtime.curve_cache != NULL) {
+ BKE_mball_texspace_calc(ob);
+ }
+
+ return ob->bb;
+}
+
float *BKE_mball_make_orco(Object *ob, ListBase *dispbase)
{
BoundBox *bb;