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:
authorSergey Sharybin <sergey.vfx@gmail.com>2020-01-13 14:16:23 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2020-01-13 14:16:23 +0300
commita60606e4678a3291f89ebac8ec5f94f5a6a40aff (patch)
tree7699f69194c71fd070199e7d4b9162185d58a043 /source/blender/depsgraph/intern/eval
parent830150c7b9e07a7e2d464ab16c7b14fd82a6968a (diff)
Fix T73029: Crash transforming object
Was caused by recent animation backup added to depsgraph as a part of another bugfix. This commit effectively disables the animation backup, restoring bug related on handlers, but makes it possible to interact with objects again. Will re-iterate over handlers+animated properties.
Diffstat (limited to 'source/blender/depsgraph/intern/eval')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc
index d5f29006434..cc4935431d1 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc
@@ -100,6 +100,14 @@ void AnimationBackup::reset()
void AnimationBackup::init_from_id(ID *id)
{
+ /* NOTE: This animation backup nicely preserves values which are animated and
+ * are not touched by frame/depsgraph post_update handler.
+ *
+ * But it makes it impossible to have user edits to animated properties: for
+ * example, translation of object with animated location will not work with
+ * the current version of backup. */
+ return;
+
AnimatedPropertyStoreCalbackData data;
data.backup = this;
data.id = id;
@@ -109,6 +117,8 @@ void AnimationBackup::init_from_id(ID *id)
void AnimationBackup::restore_to_id(ID *id)
{
+ return;
+
PointerRNA id_pointer_rna;
RNA_id_pointer_create(id, &id_pointer_rna);
for (const AnimationValueBackup &value_backup : values_backup) {