diff options
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc index 108f5f04879..e141925725b 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup.cc @@ -32,7 +32,8 @@ namespace DEG { RuntimeBackup::RuntimeBackup(const Depsgraph *depsgraph) - : animation_backup(depsgraph), + : have_backup(nullptr), + animation_backup(depsgraph), scene_backup(depsgraph), sound_backup(depsgraph), object_backup(depsgraph), @@ -48,6 +49,7 @@ void RuntimeBackup::init_from_id(ID *id) if (!deg_copy_on_write_is_expanded(id)) { return; } + have_backup = true; animation_backup.init_from_id(id); @@ -83,6 +85,10 @@ void RuntimeBackup::init_from_id(ID *id) void RuntimeBackup::restore_to_id(ID *id) { + if (!have_backup) { + return; + } + animation_backup.restore_to_id(id); const ID_Type id_type = GS(id->name); |