diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-11 14:19:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-11 19:26:54 +0300 |
commit | 854485b4b31c5e92049cf86fe13ed2c35486e33c (patch) | |
tree | 495cae29163d9ab0ca1a8e6bd5bb964c5c342401 | |
parent | a369004543445193ca48fd72d893914a9ea5927f (diff) |
Fix T60411: crash in multi-object pose mode, with some armatures in rest pose.
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 1dce388a275..6e4386a4171 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -1162,10 +1162,17 @@ static void createTransPose(TransInfo *t) continue; } + /* set flags and count total */ + tc->data_len = count_set_pose_transflags(ob, t->mode, t->around, has_translate_rotate); + if (tc->data_len == 0) { + continue; + } + if (arm->flag & ARM_RESTPOS) { if (ELEM(t->mode, TFM_DUMMY, TFM_BONESIZE) == 0) { BKE_report(t->reports, RPT_ERROR, "Cannot change Pose when 'Rest Position' is enabled"); - return; + tc->data_len = 0; + continue; } } @@ -1174,10 +1181,6 @@ static void createTransPose(TransInfo *t) ik_on = pose_grab_with_ik(bmain, ob); if (ik_on) t->flag |= T_AUTOIK; } - - /* set flags and count total (warning, can change transform to rotate) */ - tc->data_len = count_set_pose_transflags(ob, t->mode, t->around, has_translate_rotate); - /* len may be zero, skip next iteration. */ } /* if there are no translatable bones, do rotation */ |