[Bf-blender-cvs] [47451af027e] master: Cleanup: remove unused code from ed_object_select_pick

Campbell Barton noreply at git.blender.org
Tue Mar 22 08:08:30 CET 2022


Commit: 47451af027e247b82a5e990393c4101a0178bbdc
Author: Campbell Barton
Date:   Tue Mar 22 18:04:53 2022 +1100
Branches: master
https://developer.blender.org/rB47451af027e247b82a5e990393c4101a0178bbdc

Cleanup: remove unused code from ed_object_select_pick

- No need to store is_pose_mode, check the object_mode flag instead.

- Remove redundant pose-mode check which now skips object selection.

- Remove disabled grease pencil cursor toggling,
  since I couldn't manage to reproduce a situation where the cursor
  failed to update - also, as there are other places the active object
  can change this would need a more general solution anyway.

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

M	source/blender/editors/space_view3d/view3d_select.c

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

diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 84890096102..6b209fb0469 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -2452,9 +2452,6 @@ static bool ed_object_select_pick(bContext *C,
     vc.obedit = NULL;
   }
 
-  /* In pose-mode we don't want to change the object selection (unless exiting pose mode). */
-  const bool is_pose_mode = (vc.obact && vc.obact->mode & OB_MODE_POSE);
-
   /* Always start list from `basact` when cycling the selection. */
   startbase = FIRSTBASE(view_layer);
   if (oldbasact && oldbasact->next) {
@@ -2527,7 +2524,7 @@ static bool ed_object_select_pick(bContext *C,
 
     if (((hits > 0) && has_bones) ||
         /* Special case, even when there are no hits, pose logic may de-select all bones. */
-        ((hits == 0) && is_pose_mode)) {
+        ((hits == 0) && (object_mode & OB_MODE_POSE))) {
 
       if (basact && (has_bones && (basact->object->type == OB_CAMERA))) {
         MovieClip *clip = BKE_object_movieclip_get(scene, basact->object, false);
@@ -2577,7 +2574,7 @@ static bool ed_object_select_pick(bContext *C,
 
               handled = true;
             }
-            else if (is_pose_mode && (basact->object->mode & OB_MODE_POSE)) {
+            else if ((object_mode & OB_MODE_POSE) && (basact->object->mode & OB_MODE_POSE)) {
               /* Within pose-mode, keep the current selection when switching pose bones,
                * this is noticeable when in pose mode with multiple objects at once.
                * Where selecting the bone of a different object would de-select this one.
@@ -2684,11 +2681,8 @@ static bool ed_object_select_pick(bContext *C,
           break;
         }
         case SEL_OP_SET: {
-          /* When enabled, this puts other objects out of multi pose-mode. */
-          if (is_pose_mode == false || (basact->object->mode & OB_MODE_POSE) == 0) {
-            object_deselect_all_except(view_layer, basact);
-            ED_object_base_select(basact, BA_SELECT);
-          }
+          object_deselect_all_except(view_layer, basact);
+          ED_object_base_select(basact, BA_SELECT);
           break;
         }
         case SEL_OP_AND: {
@@ -2711,28 +2705,6 @@ static bool ed_object_select_pick(bContext *C,
   }
 
   if (changed) {
-    if (use_activate_selected_base) {
-      /* Set special modes for grease pencil
-       * The grease pencil modes are not real modes, but a hack to make the interface
-       * consistent, so need some tricks to keep UI synchronized */
-      /* XXX(@aligorith): This stuff needs reviewing. */
-      if (false && (((oldbasact) && oldbasact->object->type == OB_GPENCIL) ||
-                    (basact->object->type == OB_GPENCIL))) {
-        /* set cursor */
-        if (ELEM(basact->object->mode,
-                 OB_MODE_PAINT_GPENCIL,
-                 OB_MODE_SCULPT_GPENCIL,
-                 OB_MODE_WEIGHT_GPENCIL,
-                 OB_MODE_VERTEX_GPENCIL)) {
-          ED_gpencil_toggle_brush_cursor(C, true, NULL);
-        }
-        else {
-          /* TODO: maybe is better use restore. */
-          ED_gpencil_toggle_brush_cursor(C, false, NULL);
-        }
-      }
-    }
-
     if (vc.obact && vc.obact->mode & OB_MODE_POSE) {
       ED_outliner_select_sync_from_pose_bone_tag(C);
     }



More information about the Bf-blender-cvs mailing list