diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index f7a49f3fcb7..1912f3d0f53 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -57,6 +57,7 @@ #include "BKE_gpencil.h" #include "DEG_depsgraph.h" +#include "DEG_depsgraph_query.h" #include "RNA_define.h" #include "RNA_access.h" @@ -531,6 +532,7 @@ static int apply_objects_internal( /* now execute */ CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) { + Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); /* calculate rotation/scale matrix */ if (apply_scale && apply_rot) @@ -687,9 +689,14 @@ static int apply_objects_internal( unit_axis_angle(ob->rotAxis, &ob->rotAngle); } + BKE_object_transform_copy(ob_eval, ob); + BKE_object_where_is_calc(depsgraph, scene, ob); + BKE_object_where_is_calc(depsgraph, scene, ob_eval); if (ob->type == OB_ARMATURE) { - BKE_pose_where_is(depsgraph, scene, ob); /* needed for bone parents */ + /* needed for bone parents */ + BKE_pose_where_is(depsgraph, scene, ob); + BKE_pose_where_is(depsgraph, scene, ob_eval); } ignore_parent_tx(C, bmain, scene, ob);