From 6dc7cefb785ead19ec7c54c01806c05032d29d77 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 20 Sep 2019 10:19:43 +1000 Subject: Fix T69999: Active element pivot crashes without active object --- source/blender/editors/transform/transform_gizmo_3d.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'source/blender/editors/transform/transform_gizmo_3d.c') 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; -- cgit v1.2.3