diff options
author | Nathan Craddock <nzcraddock@gmail.com> | 2020-05-02 07:12:47 +0300 |
---|---|---|
committer | Nathan Craddock <nzcraddock@gmail.com> | 2020-05-02 07:12:47 +0300 |
commit | 03b911dd8776ad0ceab8923ebec86d1f0d5296f5 (patch) | |
tree | b4d1f086607fbf5d5f3dea219f75b9fd4f640745 /source/blender/editors/armature | |
parent | e59019994953238de27908bef9b1ee1db28bbff4 (diff) | |
parent | c06a40006d6ce6a12eecb63dfe1b8d502efcc4af (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r-- | source/blender/editors/armature/armature_add.c | 14 | ||||
-rw-r--r-- | source/blender/editors/armature/armature_edit.c | 3 | ||||
-rw-r--r-- | source/blender/editors/armature/armature_relations.c | 2 | ||||
-rw-r--r-- | source/blender/editors/armature/pose_group.c | 3 |
4 files changed, 21 insertions, 1 deletions
diff --git a/source/blender/editors/armature/armature_add.c b/source/blender/editors/armature/armature_add.c index dfb274fdefe..d941f8ce95f 100644 --- a/source/blender/editors/armature/armature_add.c +++ b/source/blender/editors/armature/armature_add.c @@ -53,6 +53,7 @@ #include "WM_types.h" #include "ED_armature.h" +#include "ED_outliner.h" #include "ED_screen.h" #include "ED_view3d.h" @@ -222,6 +223,7 @@ static int armature_click_extrude_exec(bContext *C, wmOperator *UNUSED(op)) WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); DEG_id_tag_update(&obedit->id, ID_RECALC_SELECT); + ED_outliner_select_sync_from_edit_bone_tag(C); return OPERATOR_FINISHED; } @@ -1049,6 +1051,8 @@ static int armature_duplicate_selected_exec(bContext *C, wmOperator *op) } MEM_freeN(objects); + ED_outliner_select_sync_from_edit_bone_tag(C); + return OPERATOR_FINISHED; } @@ -1521,7 +1525,13 @@ static int armature_extrude_exec(bContext *C, wmOperator *op) } MEM_freeN(objects); - return changed_multi ? OPERATOR_FINISHED : OPERATOR_CANCELLED; + if (!changed_multi) { + return OPERATOR_CANCELLED; + } + + ED_outliner_select_sync_from_edit_bone_tag(C); + + return OPERATOR_FINISHED; } void ARMATURE_OT_extrude(wmOperatorType *ot) @@ -1592,6 +1602,7 @@ static int armature_bone_primitive_add_exec(bContext *C, wmOperator *op) /* note, notifier might evolve */ WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); DEG_id_tag_update(&obedit->id, ID_RECALC_SELECT); + ED_outliner_select_sync_from_edit_bone_tag(C); return OPERATOR_FINISHED; } @@ -1682,6 +1693,7 @@ static int armature_subdivide_exec(bContext *C, wmOperator *op) /* note, notifier might evolve */ WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); DEG_id_tag_update(&obedit->id, ID_RECALC_SELECT); + ED_outliner_select_sync_from_edit_bone_tag(C); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/armature/armature_edit.c b/source/blender/editors/armature/armature_edit.c index 8a7afe13a2f..a7a705a6202 100644 --- a/source/blender/editors/armature/armature_edit.c +++ b/source/blender/editors/armature/armature_edit.c @@ -54,6 +54,7 @@ #include "WM_types.h" #include "ED_armature.h" +#include "ED_outliner.h" #include "ED_screen.h" #include "ED_view3d.h" @@ -1283,6 +1284,7 @@ static int armature_delete_selected_exec(bContext *C, wmOperator *UNUSED(op)) BKE_pose_tag_recalc(CTX_data_main(C), obedit->pose); WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); DEG_id_tag_update(&arm->id, ID_RECALC_SELECT); + ED_outliner_select_sync_from_edit_bone_tag(C); } } MEM_freeN(objects); @@ -1458,6 +1460,7 @@ static int armature_dissolve_selected_exec(bContext *C, wmOperator *UNUSED(op)) ED_armature_edit_refresh_layer_used(arm); WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit); DEG_id_tag_update(&arm->id, ID_RECALC_SELECT); + ED_outliner_select_sync_from_edit_bone_tag(C); } } MEM_freeN(objects); diff --git a/source/blender/editors/armature/armature_relations.c b/source/blender/editors/armature/armature_relations.c index 1e05266c77d..5f3b876efaf 100644 --- a/source/blender/editors/armature/armature_relations.c +++ b/source/blender/editors/armature/armature_relations.c @@ -58,6 +58,7 @@ #include "ED_armature.h" #include "ED_object.h" +#include "ED_outliner.h" #include "ED_screen.h" #include "UI_interface.h" @@ -707,6 +708,7 @@ static int separate_armature_exec(bContext *C, wmOperator *op) if (ok) { BKE_report(op->reports, RPT_INFO, "Separated bones"); + ED_outliner_select_sync_from_object_tag(C); } return OPERATOR_FINISHED; diff --git a/source/blender/editors/armature/pose_group.c b/source/blender/editors/armature/pose_group.c index 9cd87f476d4..c10e204e3a4 100644 --- a/source/blender/editors/armature/pose_group.c +++ b/source/blender/editors/armature/pose_group.c @@ -44,6 +44,7 @@ #include "WM_types.h" #include "ED_armature.h" +#include "ED_outliner.h" #include "ED_screen.h" #include "UI_interface.h" @@ -484,6 +485,7 @@ static int pose_group_select_exec(bContext *C, wmOperator *UNUSED(op)) bArmature *arm = ob->data; DEG_id_tag_update(&arm->id, ID_RECALC_SELECT); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); + ED_outliner_select_sync_from_pose_bone_tag(C); return OPERATOR_FINISHED; } @@ -518,6 +520,7 @@ static int pose_group_deselect_exec(bContext *C, wmOperator *UNUSED(op)) bArmature *arm = ob->data; DEG_id_tag_update(&arm->id, ID_RECALC_SELECT); WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); + ED_outliner_select_sync_from_pose_bone_tag(C); return OPERATOR_FINISHED; } |