diff options
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h index c818c1f7064..d1a30652b36 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h +++ b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.h @@ -46,6 +46,17 @@ class RuntimeBackup { /* Restore fields to the given ID. */ void restore_to_id(ID *id); + /* Denotes whether init_from_id did put anything into the backup storage. + * This will not be the case when init_from_id() is called for an ID which has never been + * copied-on-write. In this case there is no need to backup or restore anything. + * + * It also allows to have restore() logic to be symmetrical to init() without need to worry + * that init() might not have happenned. + * + * In practice this is used by audio system to lock audio while scene is going through + * copy-on-write mechanism. */ + bool have_backup; + AnimationBackup animation_backup; SceneBackup scene_backup; SoundBackup sound_backup; |