[Bf-blender-cvs] [5d1ef0efd01] blender-v2.93-release: Fix object "Set Origin" operating on linked library data

Campbell Barton noreply at git.blender.org
Mon Jul 26 08:52:29 CEST 2021


Commit: 5d1ef0efd0177667c224f8ceb478d202d83b2b03
Author: Campbell Barton
Date:   Tue Jul 13 13:01:28 2021 +1000
Branches: blender-v2.93-release
https://developer.blender.org/rB5d1ef0efd0177667c224f8ceb478d202d83b2b03

Fix object "Set Origin" operating on linked library data

Regression in d25747ee751096de2e417a7da1316bf5bf81c25a

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

M	source/blender/editors/object/object_transform.c

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

diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index a87b5054efa..ba867afe31f 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -1195,32 +1195,33 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
       else if (ID_IS_LINKED(ob->data)) {
         tot_lib_error++;
       }
+      else if (ob->type == OB_MESH) {
+        if (obedit == NULL) {
+          Mesh *me = ob->data;
 
-      if (obedit == NULL && ob->type == OB_MESH) {
-        Mesh *me = ob->data;
-
-        if (centermode == ORIGIN_TO_CURSOR) {
-          /* done */
-        }
-        else if (centermode == ORIGIN_TO_CENTER_OF_MASS_SURFACE) {
-          BKE_mesh_center_of_surface(me, cent);
-        }
-        else if (centermode == ORIGIN_TO_CENTER_OF_MASS_VOLUME) {
-          BKE_mesh_center_of_volume(me, cent);
-        }
-        else if (around == V3D_AROUND_CENTER_BOUNDS) {
-          BKE_mesh_center_bounds(me, cent);
-        }
-        else { /* #V3D_AROUND_CENTER_MEDIAN. */
-          BKE_mesh_center_median(me, cent);
-        }
+          if (centermode == ORIGIN_TO_CURSOR) {
+            /* done */
+          }
+          else if (centermode == ORIGIN_TO_CENTER_OF_MASS_SURFACE) {
+            BKE_mesh_center_of_surface(me, cent);
+          }
+          else if (centermode == ORIGIN_TO_CENTER_OF_MASS_VOLUME) {
+            BKE_mesh_center_of_volume(me, cent);
+          }
+          else if (around == V3D_AROUND_CENTER_BOUNDS) {
+            BKE_mesh_center_bounds(me, cent);
+          }
+          else { /* #V3D_AROUND_CENTER_MEDIAN. */
+            BKE_mesh_center_median(me, cent);
+          }
 
-        negate_v3_v3(cent_neg, cent);
-        BKE_mesh_translate(me, cent_neg, 1);
+          negate_v3_v3(cent_neg, cent);
+          BKE_mesh_translate(me, cent_neg, 1);
 
-        tot_change++;
-        me->id.tag |= LIB_TAG_DOIT;
-        do_inverse_offset = true;
+          tot_change++;
+          me->id.tag |= LIB_TAG_DOIT;
+          do_inverse_offset = true;
+        }
       }
       else if (ELEM(ob->type, OB_CURVE, OB_SURF)) {
         Curve *cu = ob->data;



More information about the Bf-blender-cvs mailing list