diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-10-02 20:26:36 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-10-02 20:39:11 +0300 |
commit | 27f2108e8a1afd0d7e64aefe2d7a3d57f0b01559 (patch) | |
tree | 5ec151c2d8e31ed527c461b7ebf90d222d16226a /source | |
parent | 2a7ccf6e88dd1eeae70a57e0f93163c1e1aa3e5c (diff) |
Multi-Objects: ARMATURE_OT_select_less and ARMATURE_OT_select_more
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/armature/armature_select.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c index 181b5b9ac63..5065f660b95 100644 --- a/source/blender/editors/armature/armature_select.c +++ b/source/blender/editors/armature/armature_select.c @@ -898,10 +898,15 @@ static void armature_select_more_less(Object *ob, bool more) static int armature_de_select_more_exec(bContext *C, wmOperator *UNUSED(op)) { - Object *obedit = CTX_data_edit_object(C); - armature_select_more_less(obedit, true); - WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); - + ViewLayer *view_layer = CTX_data_view_layer(C); + uint objects_len = 0; + Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data(view_layer, &objects_len); + for (uint ob_index = 0; ob_index < objects_len; ob_index++) { + Object * ob = objects[ob_index]; + armature_select_more_less(ob, true); + WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob); + } + MEM_freeN(objects); return OPERATOR_FINISHED; } @@ -922,10 +927,15 @@ void ARMATURE_OT_select_more(wmOperatorType *ot) static int armature_de_select_less_exec(bContext *C, wmOperator *UNUSED(op)) { - Object *obedit = CTX_data_edit_object(C); - armature_select_more_less(obedit, false); - WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); - + ViewLayer *view_layer = CTX_data_view_layer(C); + uint objects_len = 0; + Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data(view_layer, &objects_len); + for (uint ob_index = 0; ob_index < objects_len; ob_index++) { + Object * ob = objects[ob_index]; + armature_select_more_less(ob, false); + WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob); + } + MEM_freeN(objects); return OPERATOR_FINISHED; } |