diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-11-12 16:28:13 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-11-12 16:28:13 +0300 |
commit | 5f7d5c0809104bf702dff4be1b706c6841095fda (patch) | |
tree | bf16206dfacedab1afbbbbc6f2cc86d248d2de38 /source/blender/editors/transform | |
parent | 0ea60cf6b813f8b792a253e10a6c2edaf7fb689f (diff) |
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.
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_gizmo_3d.c | 10 |
1 files changed, 7 insertions, 3 deletions
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++; |