diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-14 21:53:03 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-14 21:55:30 +0300 |
commit | 3731729b96fa2145b7d462dec20277088a75a0c4 (patch) | |
tree | 8153b4c67aeacbfe9d5712a8ea55a9a9d77de810 /source/blender/depsgraph | |
parent | f5ea1fc4fbafbac6f648ba0d9d9ef16ca8323041 (diff) |
Depsgraph: fix hard CTD on dependency cycles through POSE_INIT.
As reported in T63582, it can cause chan_array to be not ready.
To reliably avoid crashing, the only easy way seems to be to
create the index during COW -- maybe @sergey has a better idea.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc index 0d60defa9b6..387253ab3fe 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc @@ -697,6 +697,7 @@ void update_id_after_copy(const Depsgraph *depsgraph, update_pose_orig_pointers(object_orig->pose, object_cow->pose); } + BKE_pose_pchan_index_rebuild(object_cow->pose); } update_particles_after_copy(object_orig, object_cow); update_modifiers_orig_pointers(object_orig, object_cow); |