Page MenuHome

Fix T66378: Missing animation update when switching view layer
ClosedPublic

Authored by Sergey Sharybin (sergey) on Jul 24 2019, 12:44 PM.

Details

Summary

Current frame is stored in a scene, and scene might have multiple view
layers. The inactive view layers were not informed about scene's frame
being changed, so when user switched back to view after changing scene
frame it was in an inconsistent state between current scene frame and
animation.

Now we tag scene for time changes, so dependency graph can catch up
and do proper update.

Currently tagging is from quite generic place. Probably better approach
would be to tag from where frame is actually being assigned. Downside
of this is that it's easy to miss some places.

Diff Detail

Repository
rB Blender

Event Timeline

Brecht Van Lommel (brecht) requested changes to this revision.Jul 25 2019, 5:25 PM

Doesn't rna_Scene_frame_update need ID_RECALC_TIME as well?

This revision now requires changes to proceed.Jul 25 2019, 5:25 PM

Actually it seems rna_Scene_frame_update will end up calling ED_update_for_newframe indirectly, so this is not needed. We discussed some improvements to simplify this code, but seems fine in the current system.

This revision is now accepted and ready to land.Jul 25 2019, 6:27 PM