diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/nla.c | 5 | ||||
-rw-r--r-- | source/blender/src/editnla.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c index a348aef0399..961ea21d088 100644 --- a/source/blender/blenkernel/intern/nla.c +++ b/source/blender/blenkernel/intern/nla.c @@ -141,7 +141,10 @@ bActionStrip *convert_action_to_strip (Object *ob) //set_active_strip(ob, nstrip); /* is in editnla as does UI calls */ nstrip->repeat = 1.0; - + + if(ob->nlastrips.first == NULL) + ob->nlaflag |= OB_NLA_OVERRIDE; + BLI_addtail(&ob->nlastrips, nstrip); return nstrip; /* is created, malloced etc. here so is safe to just return the pointer? this is needed for setting this active in UI, and probably useful for API too */ diff --git a/source/blender/src/editnla.c b/source/blender/src/editnla.c index d204fa2b703..73eea2b5aa4 100644 --- a/source/blender/src/editnla.c +++ b/source/blender/src/editnla.c @@ -526,6 +526,9 @@ static void add_nla_block(short event) if(strip->object) id_lib_extern(&strip->object->id); /* checks lib data, sets correct flag for saving then */ + if(ob->nlastrips.first == NULL) + ob->nlaflag |= OB_NLA_OVERRIDE; + BLI_addtail(&ob->nlastrips, strip); BIF_undo_push("Add NLA strip"); @@ -580,6 +583,9 @@ static void add_nla_block_by_name(char name[32], Object *ob, short hold, short a act->id.us++; + if(ob->nlastrips.first == NULL) + ob->nlaflag |= OB_NLA_OVERRIDE; + BLI_addtail(&ob->nlastrips, strip); } |