From 5f7d5c0809104bf702dff4be1b706c6841095fda Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 13 Nov 2021 00:28:13 +1100 Subject: Gizmo: adjust when gizmo protection flags are displayed Restore behavior reverted in 0ea60cf6b813f8b792a253e10a6c2edaf7fb689f but only for location as it makes sense to use protection flags in global mode in that case. --- source/blender/editors/transform/transform_gizmo_3d.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c index d3aaae7253e..6a2353d403f 100644 --- a/source/blender/editors/transform/transform_gizmo_3d.c +++ b/source/blender/editors/transform/transform_gizmo_3d.c @@ -1062,9 +1062,13 @@ int ED_transform_calc_gizmo_stats(const bContext *C, } } - /* Protect-flags apply to world space in object mode, so only let them influence axis - * visibility if we show the global orientation, otherwise it's confusing. */ - if (ELEM(orient_index, V3D_ORIENT_LOCAL, V3D_ORIENT_GIMBAL)) { + if (orient_index == V3D_ORIENT_GLOBAL) { + /* Protect-flags apply to world space in object mode, + * so only let them influence axis visibility if we show the global orientation, + * otherwise it's confusing. */ + protectflag_to_drawflags(base->object->protectflag & OB_LOCK_LOC, &rv3d->twdrawflag); + } + else if (ELEM(orient_index, V3D_ORIENT_LOCAL, V3D_ORIENT_GIMBAL)) { protectflag_to_drawflags(base->object->protectflag, &rv3d->twdrawflag); } totsel++; -- cgit v1.2.3