diff options
author | Ton Roosendaal <ton@blender.org> | 2006-07-04 14:19:26 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-07-04 14:19:26 +0400 |
commit | 0458c50f63da046d03819450f82048b3ad586e6c (patch) | |
tree | 4e43ca9cfef33a4d31c08e21950f691dca3e1c18 /source/blender/blenkernel/intern/blender.c | |
parent | 518fef7f2965a01fc033a78bd4d6e592158160f0 (diff) |
Bug #4597
More Driver fixing...
Commit of over week ago to make drivers update correctly on cyclic
situations, forgot to fix another driver call... which then got called
always with 'current frame' set to zero.
Error only happened with animated (Ipos) Object-Object driver relations.
Also in this commit: when loading file, lattices with hooks were not
updated correctly.
Diffstat (limited to 'source/blender/blenkernel/intern/blender.c')
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index db41f5c64c2..570f993f542 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -63,15 +63,16 @@ #include "DNA_mesh_types.h" #include "DNA_screen_types.h" -#include "BKE_library.h" #include "BKE_blender.h" +#include "BKE_curve.h" +#include "BKE_depsgraph.h" #include "BKE_displist.h" +#include "BKE_font.h" #include "BKE_global.h" +#include "BKE_library.h" #include "BKE_main.h" #include "BKE_object.h" #include "BKE_scene.h" -#include "BKE_curve.h" -#include "BKE_font.h" #include "BLI_editVert.h" @@ -378,15 +379,19 @@ static void setup_app_data(BlendFileData *bfd, char *filename) if (!G.background) { setscreen(G.curscreen); } - /* baseflags */ + + /* baseflags, groups, make depsgraph, etc */ set_scene_bg(G.scene); - /* last stage of do_versions actually, update objects (like recalc poses) */ + /* last stage of do_versions actually, that sets recalc flags for recalc poses */ for(ob= G.main->object.first; ob; ob= ob->id.next) { if(ob->type==OB_ARMATURE) if(ob->recalc) object_handle_update(ob); } + /* now tag update flags, to ensure deformers get calculated on redraw */ + DAG_scene_update_flags(G.scene, G.scene->lay); + if (G.f & G_DOSCRIPTLINKS) { /* there's an onload scriptlink to execute in screenmain */ mainqenter(ONLOAD_SCRIPT, 1); |