Page MenuHome

grouppatch.diff

grouppatch.diff

Index: /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c
===================================================================
--- /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c (revision 13906)
+++ /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c (working copy)
@@ -2461,6 +2461,24 @@
}
}
+/* selects all action channels (and therefore bones) of an
+action channel group. Have to iterate over all channels and
+look for matches, because the linked list in the group points to
+all channels in the action after the first one in the group */
+static void select_actionchannels_by_group(bAction *act, bActionGroup *agrp, int selectmode)
+{
+ bActionChannel *achan;
+ int select;
+
+ if (!act)
+ return;
+ for (achan = act->chanbase.first; achan; achan= achan->next) {
+ if (achan->grp == agrp) {
+ select = select_channel(act, achan, selectmode);
+ }
+ }
+}
+
/* apparently within active object context */
/* called extern, like on bone selection */
void select_actionchannel_by_name (bAction *act, char *name, int select)
@@ -3423,6 +3441,8 @@
deselect_actionchannels(act, 0);
select_action_group(act, agrp, SELECT_ADD);
}
+ /* select/deselect channels in group */
+ select_actionchannels_by_group(act, agrp, SELECT_ADD);
}
}
break;

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
14/73/1724f8d694068a7792b5810bf077

Event Timeline