diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-07-18 05:22:32 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-07-18 05:22:39 +0300 |
commit | 807b6c4848723949d929fbcb6620977680e6f8d0 (patch) | |
tree | 445d8f93640343d21053cf91615991f66f954e02 | |
parent | a6b7ee2a1e8f4631b14293aedcef1e981a56dc8a (diff) |
Revert "Fix T66949: Can't select bones from multiple objects in wpaint mode"
This reverts commit 9e9fbb39d7f9e0a63c71fbc96237ace62fae0db6.
Adding back object+pose bone selection support removes the need for this fix.
-rw-r--r-- | source/blender/blenkernel/BKE_modifier.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 17 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 18 |
3 files changed, 0 insertions, 36 deletions
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h index 8958f7c73aa..4aab2a346e7 100644 --- a/source/blender/blenkernel/BKE_modifier.h +++ b/source/blender/blenkernel/BKE_modifier.h @@ -382,7 +382,6 @@ struct Object *modifiers_isDeformedByMeshDeform(struct Object *ob); struct Object *modifiers_isDeformedByLattice(struct Object *ob); struct Object *modifiers_isDeformedByCurve(struct Object *ob); bool modifiers_usesArmature(struct Object *ob, struct bArmature *arm); -bool modifiers_usesArmatureObject(struct Object *ob, struct Object *ob_armature); bool modifiers_usesSubsurfFacedots(struct Scene *scene, struct Object *ob); bool modifiers_isCorrectableDeformed(struct Scene *scene, struct Object *ob); void modifier_freeTemporaryData(struct ModifierData *md); diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 144fedb4c8a..c23fe30d311 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -778,23 +778,6 @@ bool modifiers_usesArmature(Object *ob, bArmature *arm) return false; } -bool modifiers_usesArmatureObject(Object *ob, Object *ob_armature) -{ - VirtualModifierData virtualModifierData; - ModifierData *md = modifiers_getVirtualModifierList(ob, &virtualModifierData); - - for (; md; md = md->next) { - if (md->type == eModifierType_Armature) { - ArmatureModifierData *amd = (ArmatureModifierData *)md; - if (amd->object && amd->object == ob_armature) { - return true; - } - } - } - - return false; -} - bool modifiers_usesSubsurfFacedots(struct Scene *scene, Object *ob) { /* Search (backward) in the modifier stack to find if we have a subsurf modifier (enabled) before diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 1d8d0f61150..e39bd3f945f 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -72,7 +72,6 @@ #include "BKE_scene.h" #include "BKE_tracking.h" #include "BKE_workspace.h" -#include "BKE_modifier.h" #include "DEG_depsgraph.h" @@ -2150,12 +2149,6 @@ static bool ed_object_select_pick(bContext *C, /* In pose mode we don't want to mess with object selection. */ const bool is_pose_mode = (vc.obact && vc.obact->mode & OB_MODE_POSE); - /* Support changing pose objects when the a mesh uses multiple armatures. */ - Object *old_obpose = NULL; - if (vc.obact && vc.obact->mode & OB_MODE_WEIGHT_PAINT) { - old_obpose = BKE_object_pose_armature_get(vc.obact); - } - /* always start list from basact in wire mode */ startbase = FIRSTBASE(view_layer); if (oldbasact && oldbasact->next) { @@ -2382,17 +2375,6 @@ static bool ed_object_select_pick(bContext *C, object_deselect_all_except(view_layer, basact); ED_object_base_select(basact, BA_SELECT); } - else if (old_obpose && modifiers_usesArmatureObject(oldbasact->object, basact->object)) { - /* The user is in weight-paint mode with an armature selected, - * in this case the user is selecting a new armature which is - * also used by the mesh. In this case use selection to switch - * the pose object, keeping the weight paint object active. */ - Base *old_basepose = BKE_view_layer_base_find(view_layer, old_obpose); - if (old_basepose != NULL) { - ED_object_base_select(old_basepose, BA_DESELECT); - } - ED_object_base_select(basact, BA_SELECT); - } /* also prevent making it active on mouse selection */ else if (BASE_SELECTABLE(v3d, basact)) { if (extend) { |