diff options
author | Peter Schlaile <peter@schlaile.de> | 2009-05-31 21:59:57 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2009-05-31 21:59:57 +0400 |
commit | ae565b9bb39bf3fd6c87f3f3e145f4004e19a44b (patch) | |
tree | 761af8edde9ca10d0922651929a676a1523a2dc9 /source/blender/blenloader | |
parent | 8e882d0d6118d39d5533eff2d196be4bca4be889 (diff) |
== Sequencer ==
This fixes: IPO pinning on sequencer strips was lost during Undo.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index a99cb86f86b..596910ea5ae 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -4091,12 +4091,14 @@ void lib_link_screen_restore(Main *newmain, Scene *curscene) } else if(sl->spacetype==SPACE_IPO) { SpaceIpo *sipo= (SpaceIpo *)sl; - - if(sipo->blocktype==ID_SEQ) sipo->from= NULL; // no libdata - else sipo->from= restore_pointer_by_name(newmain, (ID *)sipo->from, 0); + + sipo->ipo= restore_pointer_by_name(newmain, (ID *)sipo->ipo, 0); + if(sipo->blocktype==ID_SEQ) + sipo->from= find_sequence_from_ipo_helper(newmain, sipo->ipo); + else + sipo->from= restore_pointer_by_name(newmain, (ID *)sipo->from, 0); // not free sipo->ipokey, creates dependency with src/ - sipo->ipo= restore_pointer_by_name(newmain, (ID *)sipo->ipo, 0); if(sipo->editipo) MEM_freeN(sipo->editipo); sipo->editipo= NULL; } |