[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