[Bf-blender-cvs] [6dc7cefb785] master: Fix T69999: Active element pivot crashes without active object

Campbell Barton noreply at git.blender.org
Fri Sep 20 02:24:00 CEST 2019


Commit: 6dc7cefb785ead19ec7c54c01806c05032d29d77
Author: Campbell Barton
Date:   Fri Sep 20 10:19:43 2019 +1000
Branches: master
https://developer.blender.org/rB6dc7cefb785ead19ec7c54c01806c05032d29d77

Fix T69999: Active element pivot crashes without active object

===================================================================

M	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;



More information about the Bf-blender-cvs mailing list