== NLA Editor ==
authorJoshua Leung <aligorith@gmail.com>
Sat, 9 Jun 2007 07:24:08 +0000 (07:24 +0000)
committerJoshua Leung <aligorith@gmail.com>
Sat, 9 Jun 2007 07:24:08 +0000 (07:24 +0000)
Yet another commit to fix Shift-S snapping for keyframes. The code to snap an Object's IPO block's keyframes to the current frame should be evaluated before the expanded/collapsed status of said object is evaluated.

source/blender/src/editnla.c

index 4b6870581c1c878c2bb0334bbbaa00b7cc52c3ba..85c6d6275c95ea4058564459c673960002ab2771 100644 (file)
@@ -395,9 +395,16 @@ void snap_action_strips(int snap_mode)
        bActionStrip *strip;
        
        for (base=G.scene->base.first; base; base=base->next) {
+               /* object has ipo - these keyframes should be able to be snapped, even if strips are collapsed */
+               if (base->object->ipo) {
+                       snap_ipo_keys(base->object->ipo, snap_mode);
+               }
+               
+               /* object is collapsed - action and nla strips not shown/editable */
                if (base->object->nlaflag & OB_NLA_COLLAPSED)
                        continue;
                
+               /* snap action strips */
                for (strip = base->object->nlastrips.last; strip; strip=strip->prev) {
                        if (strip->flag & ACTSTRIP_SELECT) {
                                if (snap_mode==1) {
@@ -422,11 +429,6 @@ void snap_action_strips(int snap_mode)
                        }
                }
                
-               /* object has ipo */
-               if (base->object->ipo) {
-                       snap_ipo_keys(base->object->ipo, snap_mode);
-               }
-               
                /* object has action */
                if (base->object->action) {
                        ListBase act_data = {NULL, NULL};