Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-01-23 14:59:16 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-01-23 15:00:18 +0300
commite40387b1e2af2b2810b2062b1c68491c22911505 (patch)
treeaa2859e5377f0ba48b2d6f17317e20f1aad7fb39
parent3ff3f563e57e43abeacd5bb4df66d8b6bec0c847 (diff)
Keep proper bone active group after removing first one
Previously active bone group would be set to NONE after removing the first one even if there are more groups in the armature.
-rw-r--r--source/blender/blenkernel/intern/action.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index f94f1e72638..1bae65a7fb4 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -1002,8 +1002,12 @@ void BKE_pose_remove_group(bPose *pose, bActionGroup *grp, const int index)
/* now, remove it from the pose */
BLI_freelinkN(&pose->agroups, grp);
if (pose->active_group >= idx) {
+ const bool has_groups = !BLI_listbase_is_empty(&pose->agroups);
pose->active_group--;
- if (pose->active_group < 0 || BLI_listbase_is_empty(&pose->agroups)) {
+ if (pose->active_group == 0 && has_groups) {
+ pose->active_group = 1;
+ }
+ else if (pose->active_group < 0 || !has_groups) {
pose->active_group = 0;
}
}