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:
authorJoshua Leung <aligorith@gmail.com>2007-03-24 06:34:28 +0300
committerJoshua Leung <aligorith@gmail.com>2007-03-24 06:34:28 +0300
commit9c32c746991f82c4b8f5d2f45da42c316282743a (patch)
treee8dffd9324dc1cce24f5d6d68cacebbdcebedb0f
parent269e943d5849ff1f9f897f6ac32f6a64a1168afe (diff)
Bugfix #6413: Select all (bones) doesn't work with keyed armature
Silly little mixup (one case where one of the macros I added shouldn't be used)
-rw-r--r--source/blender/src/editaction.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c
index f1ef693317a..1b14a755d42 100644
--- a/source/blender/src/editaction.c
+++ b/source/blender/src/editaction.c
@@ -928,9 +928,10 @@ bActionChannel *get_hilighted_action_channel(bAction *action)
return NULL;
for (achan= action->chanbase.first; achan; achan= achan->next) {
- if(VISIBLE_ACHAN(achan))
+ if(VISIBLE_ACHAN(achan)) {
if (SEL_ACHAN(achan) && achan->flag & ACHAN_HILIGHTED)
return achan;
+ }
}
return NULL;
@@ -1562,20 +1563,22 @@ void deselect_actionchannels (bAction *act, int test)
/* See if we should be selecting or deselecting */
if (test) {
- for (achan=act->chanbase.first; achan; achan= achan->next){
+ for (achan=act->chanbase.first; achan; achan= achan->next) {
if (VISIBLE_ACHAN(achan)) {
if (!sel)
break;
- if (SEL_ACHAN(achan)) {
+ if (achan->flag & ACHAN_SELECTED) {
sel= 0;
break;
}
- if (sel && EXPANDED_ACHAN(achan)) {
- for (conchan=achan->constraintChannels.first; conchan; conchan=conchan->next){
- if (SEL_CONCHAN(conchan)) {
- sel= 0;
- break;
+ if (sel) {
+ if (EXPANDED_ACHAN(achan)) {
+ for (conchan=achan->constraintChannels.first; conchan; conchan=conchan->next) {
+ if (SEL_CONCHAN(conchan)) {
+ sel= 0;
+ break;
+ }
}
}
}
@@ -1584,7 +1587,7 @@ void deselect_actionchannels (bAction *act, int test)
}
else
sel= 0;
-
+
/* Now set the flags */
for (achan=act->chanbase.first; achan; achan= achan->next) {
if (VISIBLE_ACHAN(achan)) {