Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc
index 855dd4821ce..2f45ea45197 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_object.cc
@@ -129,6 +129,17 @@ void ObjectRuntimeBackup::restore_to_object(Object *object)
}
}
}
+ else if (ELEM(object->type, OB_HAIR, OB_POINTCLOUD, OB_VOLUME)) {
+ if (object->id.recalc & ID_RECALC_GEOMETRY) {
+ /* Free evaluated caches. */
+ object->data = data_orig;
+ BKE_object_free_derived_caches(object);
+ }
+ else {
+ object->data = object->runtime.data_eval;
+ }
+ }
+
object->base_flag = base_flag;
object->base_local_view_bits = base_local_view_bits;
/* Restore modifier's runtime data.