From ae565b9bb39bf3fd6c87f3f3e145f4004e19a44b Mon Sep 17 00:00:00 2001 From: Peter Schlaile Date: Sun, 31 May 2009 17:59:57 +0000 Subject: [PATCH] == Sequencer == This fixes: IPO pinning on sequencer strips was lost during Undo. --- source/blender/blenloader/intern/readfile.c | 10 ++++++---- 1 file 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; }