diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index d47552f1be2..ed8749eb440 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -543,8 +543,8 @@ void do_all_actions(Object *ob) if (cu->flag & CU_PATH){ /* Ensure we have a valid path */ - if(cu->path==NULL || cu->path->data==NULL) printf("action path error in ob %s\n", ob->parent->id.name+2); - else { + if(cu->path==NULL || cu->path->data==NULL) makeDispListCurveTypes(ob->parent); + if(cu->path) { /* Find the position on the path */ ctime= bsystem_time(ob, ob->parent, (float)G.scene->r.cfra, 0.0); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index f8de14e69f9..7b601bfbe43 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1073,7 +1073,8 @@ void ob_parcurve(Object *ob, Object *par, float mat[][4]) Mat4One(mat); cu= par->data; - if(cu->path==NULL || cu->path->data==NULL) calc_curvepath(par); + if(cu->path==NULL || cu->path->data==NULL) /* only happens on reload file */ + makeDispListCurveTypes(par); if(cu->path==NULL) return; /* exception, timeoffset is regarded as distance offset */ diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c index 9e7db4ef294..c1f1bc89303 100644 --- a/source/blender/src/drawview.c +++ b/source/blender/src/drawview.c @@ -1906,7 +1906,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata) Object *ob; setwinmatrixview3d(0); /* 0= no pick rect */ - setviewmatrixview3d(); + setviewmatrixview3d(); /* note: calls where_is_object for camera... */ Mat4MulMat4(v3d->persmat, v3d->viewmat, curarea->winmat); Mat4Invert(v3d->persinv, v3d->persmat);