[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20074] trunk/blender/source/blender/src: Bugfix: Data from hidden objects was still being taken into account for many NLA-editor operations

Joshua Leung aligorith at gmail.com
Wed May 6 01:15:31 CEST 2009


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);





More information about the Bf-blender-cvs mailing list