Fix T37713: proxy not updated for first frame in background render.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 10 Dec 2013 17:44:50 +0000 (18:44 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 10 Dec 2013 18:54:42 +0000 (19:54 +0100)
The problem is that the animation curves are first before object updates,
where BKE_pose_rebuild and proxy synchronize will undo the animation when the
proxy is evaluted for the first time after loading.

This is somewhat of a workaround but it's also useful to have the scene updated
once when opening in background mode, and it makes rendering from the UI and
background more similar and so more predictable to give the same result.

source/creator/creator.c

index 420dceb812b9d072c0577e5c1b18bcca555cc847..9889eacc5db2d8fd95e694fd05dae711f4c71b1e 100644 (file)
@@ -1274,6 +1274,7 @@ static int load_file(int UNUSED(argc), const char **argv, void *data)
                        if (CTX_wm_manager(C) == NULL) CTX_wm_manager_set(C, wm);  /* reset wm */
 
                        DAG_on_visible_update(CTX_data_main(C), TRUE);
+                       BKE_scene_update_tagged(CTX_data_main(C), CTX_data_scene(C));
                }
                else {
                        /* failed to load file, stop processing arguments */