diff options
Diffstat (limited to 'source/blender/editors/armature/armature_relations.c')
-rw-r--r-- | source/blender/editors/armature/armature_relations.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/editors/armature/armature_relations.c b/source/blender/editors/armature/armature_relations.c index d544aed5481..a33baee46cd 100644 --- a/source/blender/editors/armature/armature_relations.c +++ b/source/blender/editors/armature/armature_relations.c @@ -304,7 +304,11 @@ int join_armature_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - /* Get editbones of active armature to add editbones to */ + /* Inverse transform for all selected armatures in this object, + * See #object_join_exec for detailed comment on why the safe version is used. */ + invert_m4_m4_safe_ortho(oimat, ob_active->obmat); + + /* Get edit-bones of active armature to add edit-bones to */ ED_armature_to_edit(arm); /* get pose of active object and move it out of posemode */ @@ -334,7 +338,6 @@ int join_armature_exec(bContext *C, wmOperator *op) // BASACT->flag &= ~OB_MODE_POSE; /* Find the difference matrix */ - invert_m4_m4(oimat, ob_active->obmat); mul_m4_m4m4(mat, oimat, ob_iter->obmat); /* Copy bones and posechannels from the object to the edit armature */ |