NLA:
authorJoshua Leung <aligorith@gmail.com>
Tue, 20 Mar 2007 11:11:32 +0000 (11:11 +0000)
committerJoshua Leung <aligorith@gmail.com>
Tue, 20 Mar 2007 11:11:32 +0000 (11:11 +0000)
Some more action channel protection stuff

source/blender/src/editnla.c

index 4b3f4cca4b4c20e930bbcc82e244d68869bdef8e..a3d46c19bc7456e4dde779059cd37fe65769705d 100644 (file)
@@ -825,12 +825,14 @@ void transform_nlachannel_keys(int mode, int dummy)
                                                i= fullselect_ipo_keys(chan->ipo);
                                                if(i) base->flag |= BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA;
                                                tvtot+=i;
-                                       }
-                                       
-                                       /* Check action constraint ipos */
-                                       for (conchan=chan->constraintChannels.first; conchan; conchan=conchan->next) {
-                                               if (EDITABLE_CONCHAN(conchan))
-                                                       tvtot+=fullselect_ipo_keys(conchan->ipo);
+                                               
+                                               /* Check action constraint ipos */
+                                               if (EXPANDED_ACHAN(chan)) {
+                                                       for (conchan=chan->constraintChannels.first; conchan; conchan=conchan->next) {
+                                                               if (EDITABLE_CONCHAN(conchan))
+                                                                       tvtot+=fullselect_ipo_keys(conchan->ipo);
+                                                       }
+                                               }
                                        }
                                }
                        }               
@@ -877,13 +879,16 @@ void transform_nlachannel_keys(int mode, int dummy)
                        /* can include - no selected strip is action */
                        if(strip==NULL) {
                                for (chan=base->object->action->chanbase.first; chan; chan=chan->next){
-                                       if (EDITABLE_ACHAN(chan))
+                                       if (EDITABLE_ACHAN(chan)) {
                                                tvtot=add_trans_ipo_keys(chan->ipo, tv, tvtot);
 
-                                       /* Manipulate action constraint ipos */
-                                       for (conchan=chan->constraintChannels.first; conchan; conchan=conchan->next) {
-                                               if (EDITABLE_CONCHAN(conchan))
-                                                       tvtot=add_trans_ipo_keys(conchan->ipo, tv, tvtot);
+                                               /* Manipulate action constraint ipos */
+                                               if (EXPANDED_ACHAN(chan)) {
+                                                       for (conchan=chan->constraintChannels.first; conchan; conchan=conchan->next) {
+                                                               if (EDITABLE_CONCHAN(conchan))
+                                                                       tvtot=add_trans_ipo_keys(conchan->ipo, tv, tvtot);
+                                                       }
+                                               }
                                        }
                                }
                        }