Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schlaile <peter@schlaile.de>2009-05-31 21:59:57 +0400
committerPeter Schlaile <peter@schlaile.de>2009-05-31 21:59:57 +0400
commitae565b9bb39bf3fd6c87f3f3e145f4004e19a44b (patch)
tree761af8edde9ca10d0922651929a676a1523a2dc9 /source/blender/blenloader
parent8e882d0d6118d39d5533eff2d196be4bca4be889 (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.c10
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;
}