diff options
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_engine.c | 8 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_mode.c | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c index d63a50bcc03..2bdceb5f3db 100644 --- a/source/blender/draw/engines/overlay/overlay_engine.c +++ b/source/blender/draw/engines/overlay/overlay_engine.c @@ -56,7 +56,7 @@ static void OVERLAY_engine_init(void *vedata) OVERLAY_shader_library_ensure(); if (!stl->pd) { - /* Alloc transient pointers */ + /* Allocate transient pointers. */ stl->pd = MEM_callocN(sizeof(*stl->pd), __func__); } @@ -235,7 +235,7 @@ BLI_INLINE OVERLAY_DupliData *OVERLAY_duplidata_get(Object *ob, void *vedata, bo *do_init = true; } else if ((*dupli_data)->base_flag != ob->base_flag) { - /* Select state might have change, reinit. */ + /* Select state might have change, reinitialize. */ *do_init = true; } return *dupli_data; @@ -478,7 +478,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob) OVERLAY_particle_cache_populate(vedata, ob); } - /* Relationship, object center, bounbox ... */ + /* Relationship, object center, bounding-box... etc. */ if (!pd->hide_overlays) { OVERLAY_extra_cache_populate(vedata, ob); } @@ -581,7 +581,7 @@ static void OVERLAY_draw_scene(void *vedata) OVERLAY_extra_blend_draw(vedata); OVERLAY_volume_draw(vedata); - /* These overlays are drawn here to avoid artifacts with wireframe opacity. */ + /* These overlays are drawn here to avoid artifacts with wire-frame opacity. */ switch (pd->ctx_mode) { case CTX_MODE_SCULPT: OVERLAY_sculpt_draw(vedata); diff --git a/source/blender/editors/transform/transform_mode.c b/source/blender/editors/transform/transform_mode.c index 0e632e5f82d..5e0abbc1a08 100644 --- a/source/blender/editors/transform/transform_mode.c +++ b/source/blender/editors/transform/transform_mode.c @@ -1054,6 +1054,11 @@ void ElementResize(const TransInfo *t, } if (t->options & (CTX_OBJECT | CTX_POSE_BONE)) { + if (t->options & CTX_POSE_BONE) { + /* Without this, the resulting location of scaled bones aren't correct, + * especially noticeable scaling root or disconnected bones around the cursor, see T92515. */ + mul_mat3_m4_v3(tc->poseobj->obmat, vec); + } mul_m3_v3(td->smtx, vec); } |