Commit: 8e0953eb495ac17dbd003deb7ead50f271bcd713 Author: Ines Almeida Date: Sun May 20 18:41:03 2018 +0200 Branches: blender2.8 https://developer.blender.org/rB8e0953eb495ac17dbd003deb7ead50f271bcd713
COW Operators: Fix VIEW3D_OT_view_lock_to_active Reviewers: aligorith, sergey Maniphest Tasks: T54829 Differential Revision: https://developer.blender.org/D3365 =================================================================== M source/blender/editors/space_view3d/view3d_edit.c M source/blender/editors/space_view3d/view3d_view.c =================================================================== diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index c479267603d..a8e011c2508 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -2981,7 +2981,8 @@ static int view_lock_to_active_exec(bContext *C, wmOperator *UNUSED(op)) if (obact && obact->type == OB_ARMATURE) { if (obact->mode & OB_MODE_POSE) { - bPoseChannel *pcham_act = BKE_pose_channel_active(obact); + Object *obact_eval = DEG_get_evaluated_object(CTX_data_depsgraph(C), obact); + bPoseChannel *pcham_act = BKE_pose_channel_active(obact_eval); if (pcham_act) { BLI_strncpy(v3d->ob_centre_bone, pcham_act->name, sizeof(v3d->ob_centre_bone)); } diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 0e78fd02b30..12a084b71c3 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -775,15 +775,15 @@ void view3d_viewmatrix_set( quat_to_mat4(rv3d->viewmat, rv3d->viewquat); if (rv3d->persp == RV3D_PERSP) rv3d->viewmat[3][2] -= rv3d->dist; if (v3d->ob_centre) { - Object *ob = v3d->ob_centre; + Object *ob_eval = DEG_get_evaluated_object(depsgraph, v3d->ob_centre); float vec[3]; - copy_v3_v3(vec, ob->obmat[3]); - if (ob->type == OB_ARMATURE && v3d->ob_centre_bone[0]) { - bPoseChannel *pchan = BKE_pose_channel_find_name(ob->pose, v3d->ob_centre_bone); + copy_v3_v3(vec, ob_eval->obmat[3]); + if (ob_eval->type == OB_ARMATURE && v3d->ob_centre_bone[0]) { + bPoseChannel *pchan = BKE_pose_channel_find_name(ob_eval->pose, v3d->ob_centre_bone); if (pchan) { copy_v3_v3(vec, pchan->pose_mat[3]); - mul_m4_v3(ob->obmat, vec); + mul_m4_v3(ob_eval->obmat, vec); } } translate_m4(rv3d->viewmat, -vec[0], -vec[1], -vec[2]); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs