Revision: 20074
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20074
Author:   aligorith
Date:     2009-05-06 01:15:31 +0200 (Wed, 06 May 2009)

Log Message:
-----------
Bugfix: Data from hidden objects was still being taken into account for many 
NLA-editor operations

NOTE for Merging - do not port this commit, since the changes here are utterly 
irrelevant to the new system

Modified Paths:
--------------
    trunk/blender/source/blender/src/editnla.c
    trunk/blender/source/blender/src/transform_conversions.c

Modified: trunk/blender/source/blender/src/editnla.c
===================================================================
--- trunk/blender/source/blender/src/editnla.c  2009-05-05 23:10:32 UTC (rev 
20073)
+++ trunk/blender/source/blender/src/editnla.c  2009-05-05 23:15:31 UTC (rev 
20074)
@@ -927,7 +927,11 @@
        
        /* Determine if this is selection or deselection */
        if (test){
-               for (base=G.scene->base.first; base && sel; base=base->next){   
        
+               for (base=G.scene->base.first; base && sel; base=base->next){   
+                       /* only consider if visible */
+                       if (nla_filter(base) == 0)
+                               continue;
+                       
                        /* Test object ipos */
                        if (is_ipo_key_selected(base->object->ipo)){
                                sel = 0;
@@ -986,7 +990,11 @@
        
        
        /* Set the flags */
-       for (base=G.scene->base.first; base; base=base->next){          
+       for (base=G.scene->base.first; base; base=base->next){  
+               /* only consider if visible */
+               if (nla_filter(base) == 0)
+                       continue;
+               
                /* Set the object ipos */
                set_ipo_key_selection(base->object->ipo, sel);
                
@@ -1068,6 +1076,10 @@
        bActionStrip *strip, *nextstrip;
                
        for (base = G.scene->base.first; base; base=base->next){
+               /* only consider if visible */
+               if (nla_filter(base) == 0)
+                       continue;
+               
                /* Delete object ipos */
                delete_ipo_keys(base->object->ipo);
                
@@ -1122,7 +1134,11 @@
        bActionStrip *strip, *laststrip;
        
        /* Find selected items */
-       for (base = G.scene->base.first; base; base=base->next){        
+       for (base = G.scene->base.first; base; base=base->next){
+               /* only consider if visible */
+               if (nla_filter(base) == 0)
+                       continue;
+                       
                /* Duplicate object keys */
                duplicate_ipo_keys(base->object->ipo);
                

Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c    2009-05-05 
23:10:32 UTC (rev 20073)
+++ trunk/blender/source/blender/src/transform_conversions.c    2009-05-05 
23:15:31 UTC (rev 20074)
@@ -126,6 +126,7 @@
 #include "BSE_editaction_types.h"
 
 #include "BDR_drawaction.h"            // list of keyframes in action
+#include "BDR_drawnla.h"               // nla_filter()
 #include "BDR_editobject.h"            // reset_slowparents()
 #include "BDR_gpencil.h"
 #include "BDR_unwrapper.h"
@@ -3132,6 +3133,10 @@
        
        /* Ensure that partial selections result in beztriple selections */
        for (base=G.scene->base.first; base; base=base->next) {
+               /* only consider if visible */
+               if (nla_filter(base) == 0)
+                       continue;
+               
                /* Check object ipos */
                i= count_ipo_keys(base->object->ipo, side, (float)CFRA);
                if (i) base->flag |= BA_HAS_RECALC_OB;
@@ -3197,6 +3202,10 @@
        /* build the transdata structure */
        td= t->data;
        for (base=G.scene->base.first; base; base=base->next) {
+               /* only consider if visible */
+               if (nla_filter(base) == 0)
+                       continue;
+               
                /* Manipulate object ipos */
                /*      - no scaling of keyframe times is allowed here  */
                td= IpoToTransData(td, base->object->ipo, NULL, side, 
(float)CFRA);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to