Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-09-20 03:19:43 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-09-20 03:23:47 +0300
commit6dc7cefb785ead19ec7c54c01806c05032d29d77 (patch)
tree1587dcca13c32fa8f6a3a5d148952fe2c7f3b631 /source/blender/editors/transform/transform_gizmo_3d.c
parent5356577e4c7b908a07f651b12621b7de60d0417e (diff)
Fix T69999: Active element pivot crashes without active object
Diffstat (limited to 'source/blender/editors/transform/transform_gizmo_3d.c')
-rw-r--r--source/blender/editors/transform/transform_gizmo_3d.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c
index 25cf0fbbba2..1e768db4f9f 100644
--- a/source/blender/editors/transform/transform_gizmo_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_3d.c
@@ -1168,16 +1168,20 @@ static void gizmo_prepare_mat(const bContext *C,
if (scene->toolsettings->transform_pivot_point == V3D_AROUND_ACTIVE) {
bGPdata *gpd = CTX_data_gpencil_data(C);
- Object *ob = OBACT(view_layer);
if (gpd && (gpd->flag & GP_DATA_STROKE_EDITMODE)) {
/* pass */
}
- else if (ob->sculpt) {
- SculptSession *ss = ob->sculpt;
- copy_v3_v3(rv3d->twmat[3], ss->pivot_pos);
- }
- else if (ob != NULL) {
- ED_object_calc_active_center(ob, false, rv3d->twmat[3]);
+ else {
+ Object *ob = OBACT(view_layer);
+ if (ob != NULL) {
+ if ((ob->mode & OB_MODE_ALL_SCULPT) && ob->sculpt) {
+ SculptSession *ss = ob->sculpt;
+ copy_v3_v3(rv3d->twmat[3], ss->pivot_pos);
+ }
+ else {
+ ED_object_calc_active_center(ob, false, rv3d->twmat[3]);
+ }
+ }
}
}
break;