diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index acabd2ac0ba..7c59f24e7e9 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1517,6 +1517,7 @@ void imagestodisplist(void) /* removed */ } +/* this is confusing, there's also min_max_object, appplying the obmat... */ static void boundbox_displist(Object *ob) { BoundBox *bb=0; @@ -1529,6 +1530,7 @@ static void boundbox_displist(Object *ob) if(ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) { Curve *cu= ob->data; + int doit= 0; if(cu->bb==0) cu->bb= MEM_callocN(sizeof(BoundBox), "boundbox"); bb= cu->bb; @@ -1541,11 +1543,18 @@ static void boundbox_displist(Object *ob) vert= dl->verts; for(a=0; anext; } + + if(!doit) { + min[0] = min[1] = min[2] = -1.0f; + max[0] = max[1] = max[2] = 1.0f; + } + } if(bb) { diff --git a/source/blender/src/view.c b/source/blender/src/view.c index 34888dd8e18..5e0f484a988 100644 --- a/source/blender/src/view.c +++ b/source/blender/src/view.c @@ -1410,14 +1410,11 @@ void view3d_home(int centre) max[0]= max[1]= max[2]= -1.0e10; } - base= FIRSTBASE; - if(base==0) return; - while(base) { + for(base= FIRSTBASE; base; base= base->next) { if(base->lay & G.vd->lay) { onedone= 1; minmax_object(base->object, min, max); } - base= base->next; } if(!onedone) return;