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
This commit is contained in:
@@ -927,7 +927,11 @@ void deselect_nlachannel_keys (int test)
|
||||
|
||||
/* 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 @@ void deselect_nlachannel_keys (int test)
|
||||
|
||||
|
||||
/* 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 @@ void delete_nlachannel_keys(void)
|
||||
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 @@ void duplicate_nlachannel_keys(void)
|
||||
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);
|
||||
|
||||
|
||||
@@ -120,6 +120,7 @@
|
||||
|
||||
#include "BSE_view.h"
|
||||
#include "BSE_drawipo.h"
|
||||
#include "BSE_drawnla.h" // nla_filter()
|
||||
#include "BSE_edit.h"
|
||||
#include "BSE_editipo.h"
|
||||
#include "BSE_editipo_types.h"
|
||||
@@ -3132,6 +3133,10 @@ static void createTransNlaData(TransInfo *t)
|
||||
|
||||
/* 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 @@ static void createTransNlaData(TransInfo *t)
|
||||
/* 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);
|
||||
|
||||
Reference in New Issue
Block a user