[Bf-blender-cvs] [ae7db030dab] master: Stop using deprecated ob->flag & SELECT

Dalai Felinto noreply at git.blender.org
Tue Apr 30 21:57:25 CEST 2019


Commit: ae7db030dab0f350442fc7b69529bdc1c5c334fa
Author: Dalai Felinto
Date:   Tue Apr 30 16:43:44 2019 -0300
Branches: master
https://developer.blender.org/rBae7db030dab0f350442fc7b69529bdc1c5c334fa

Stop using deprecated ob->flag & SELECT

We still have base->flag_legacy & BA_WAS_SEL for the few cases we really
need to have a per-object selection check (used in the transform code).

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

M	source/blender/blenkernel/intern/modifier.c
M	source/blender/blenkernel/intern/rigidbody.c
M	source/blender/draw/intern/draw_anim_viz.c
M	source/blender/editors/object/object_utils.c

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

diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 0767e2a7148..9bc9865631f 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -36,6 +36,7 @@
 #include "DNA_armature_types.h"
 #include "DNA_mesh_types.h"
 #include "DNA_object_types.h"
+#include "DNA_scene_types.h"
 
 #include "BLI_utildefines.h"
 #include "BLI_listbase.h"
@@ -657,7 +658,7 @@ Object *modifiers_isDeformedByArmature(Object *ob)
   for (; md; md = md->next) {
     if (md->type == eModifierType_Armature) {
       amd = (ArmatureModifierData *)md;
-      if (amd->object && (amd->object->flag & SELECT)) {
+      if (amd->object && (amd->object->base_flag & BASE_SELECTED)) {
         return amd->object;
       }
     }
@@ -680,7 +681,7 @@ Object *modifiers_isDeformedByMeshDeform(Object *ob)
   for (; md; md = md->next) {
     if (md->type == eModifierType_MeshDeform) {
       mdmd = (MeshDeformModifierData *)md;
-      if (mdmd->object && (mdmd->object->flag & SELECT)) {
+      if (mdmd->object && (mdmd->object->base_flag & BASE_SELECTED)) {
         return mdmd->object;
       }
     }
@@ -706,7 +707,7 @@ Object *modifiers_isDeformedByLattice(Object *ob)
   for (; md; md = md->next) {
     if (md->type == eModifierType_Lattice) {
       lmd = (LatticeModifierData *)md;
-      if (lmd->object && (lmd->object->flag & SELECT)) {
+      if (lmd->object && (lmd->object->base_flag & BASE_SELECTED)) {
         return lmd->object;
       }
     }
@@ -732,7 +733,7 @@ Object *modifiers_isDeformedByCurve(Object *ob)
   for (; md; md = md->next) {
     if (md->type == eModifierType_Curve) {
       cmd = (CurveModifierData *)md;
-      if (cmd->object && (cmd->object->flag & SELECT)) {
+      if (cmd->object && (cmd->object->base_flag & BASE_SELECTED)) {
         return cmd->object;
       }
     }
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 632e9cb53b8..0e488dea758 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -1417,6 +1417,10 @@ static void rigidbody_update_sim_ob(
     return;
   }
 
+  ViewLayer *view_layer = DEG_get_input_view_layer(depsgraph);
+  Base *base = BKE_view_layer_base_find(view_layer, ob);
+  const bool is_selected = base ? (base->flag & BASE_SELECTED) != 0 : false;
+
   if (rbo->shape == RB_SHAPE_TRIMESH && rbo->flag & RBO_FLAG_USE_DEFORM) {
     Mesh *mesh = ob->runtime.mesh_deform_eval;
     if (mesh) {
@@ -1445,13 +1449,13 @@ static void rigidbody_update_sim_ob(
 
   /* Make transformed objects temporarily kinmatic
    * so that they can be moved by the user during simulation. */
-  if (ob->flag & SELECT && G.moving & G_TRANSFORM_OBJ) {
+  if (is_selected && (G.moving & G_TRANSFORM_OBJ)) {
     RB_body_set_kinematic_state(rbo->shared->physics_object, true);
     RB_body_set_mass(rbo->shared->physics_object, 0.0f);
   }
 
   /* update rigid body location and rotation for kinematic bodies */
-  if (rbo->flag & RBO_FLAG_KINEMATIC || (ob->flag & SELECT && G.moving & G_TRANSFORM_OBJ)) {
+  if (rbo->flag & RBO_FLAG_KINEMATIC || (is_selected && (G.moving & G_TRANSFORM_OBJ)) {
     RB_body_activate(rbo->shared->physics_object);
     RB_body_set_loc_rot(rbo->shared->physics_object, loc, rot);
   }
@@ -1677,7 +1681,7 @@ void BKE_rigidbody_sync_transforms(RigidBodyWorld *rbw, Object *ob, float ctime)
 
   /* use rigid body transform after cache start frame if objects is not being transformed */
   if (BKE_rigidbody_check_sim_running(rbw, ctime) &&
-      !(ob->flag & SELECT && G.moving & G_TRANSFORM_OBJ)) {
+      !(ob->base_flag & BASE_SELECTED && G.moving & G_TRANSFORM_OBJ)) {
     float mat[4][4], size_mat[4][4], size[3];
 
     normalize_qt(rbo->orn);  // RB_TODO investigate why quaternion isn't normalized at this point
diff --git a/source/blender/draw/intern/draw_anim_viz.c b/source/blender/draw/intern/draw_anim_viz.c
index 8ff2916b040..e851a3aa0bf 100644
--- a/source/blender/draw/intern/draw_anim_viz.c
+++ b/source/blender/draw/intern/draw_anim_viz.c
@@ -184,7 +184,7 @@ static void MPATH_cache_motion_path(MPATH_PassList *psl,
   struct DRWTextStore *dt = DRW_text_cache_ensure();
   int txt_flag = DRW_TEXT_CACHE_GLOBALSPACE | DRW_TEXT_CACHE_ASCII;
   int cfra = (int)DEG_get_ctime(draw_ctx->depsgraph);
-  bool sel = (pchan) ? (pchan->bone->flag & BONE_SELECTED) : (ob->flag & SELECT);
+  bool sel = (pchan) ? (pchan->bone->flag & BONE_SELECTED) : (ob->base_flag & BASE_SELECTED);
   bool show_keyframes = (avs->path_viewflag & MOTIONPATH_VIEW_KFRAS) != 0;
 
   int sfra, efra, stepsize;
diff --git a/source/blender/editors/object/object_utils.c b/source/blender/editors/object/object_utils.c
index 06a755c30bd..dbca0bbf97b 100644
--- a/source/blender/editors/object/object_utils.c
+++ b/source/blender/editors/object/object_utils.c
@@ -133,7 +133,7 @@ bool ED_object_calc_active_center(Object *ob, const bool select_only, float r_ce
     return false;
   }
   else {
-    if (!select_only || (ob->flag & SELECT)) {
+    if (!select_only || (ob->base_flag & BASE_SELECTED)) {
       copy_v3_v3(r_center, ob->obmat[3]);
       return true;
     }



More information about the Bf-blender-cvs mailing list