Revision: 26254
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26254
Author: campbellbarton
Date: 2010-01-25 18:24:04 +0100 (Mon, 25 Jan 2010)
Log Message:
-----------
undo would often crash when filter_group was used.
conversion wasnt included in lib_link_screen_restore
Modified Paths:
--------------
trunk/blender/source/blender/blenloader/intern/readfile.c
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2010-01-25
16:42:04 UTC (rev 26253)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2010-01-25
17:24:04 UTC (rev 26254)
@@ -4869,10 +4869,11 @@
}
else if(sl->spacetype==SPACE_IPO) {
+ SpaceIpo *sipo= (SpaceIpo *)sl;
+ bDopeSheet *ads= sipo->ads;
+
/* XXX animato */
#if 0
- SpaceIpo *sipo= (SpaceIpo *)sl;
-
sipo->ipo=
restore_pointer_by_name(newmain, (ID *)sipo->ipo, 0);
if(sipo->blocktype==ID_SEQ)
sipo->from= (ID
*)find_sequence_from_ipo_helper(newmain, sipo->ipo);
@@ -4882,7 +4883,11 @@
// not free sipo->ipokey, creates
dependency with src/
if(sipo->editipo)
MEM_freeN(sipo->editipo);
sipo->editipo= NULL;
+
#endif
+ if (ads->filter_grp) {
+ ads->filter_grp=
restore_pointer_by_name(newmain, (ID *)ads->filter_grp, 0);
+ }
}
else if(sl->spacetype==SPACE_BUTS) {
SpaceButs *sbuts= (SpaceButs *)sl;
@@ -4908,6 +4913,10 @@
SpaceAction *saction= (SpaceAction *)sl;
saction->action =
restore_pointer_by_name(newmain, (ID *)saction->action, 1);
saction->ads.source=
restore_pointer_by_name(newmain, (ID *)saction->ads.source, 1);
+
+ if(saction->ads.filter_grp) {
+ saction->ads.filter_grp=
restore_pointer_by_name(newmain, (ID *)saction->ads.filter_grp, 0);
+ }
}
else if(sl->spacetype==SPACE_IMAGE) {
SpaceImage *sima= (SpaceImage *)sl;
@@ -4915,7 +4924,12 @@
sima->image=
restore_pointer_by_name(newmain, (ID *)sima->image, 1);
}
else if(sl->spacetype==SPACE_NLA){
- /* SpaceNla *snla= (SpaceNla *)sl;
*/
+ SpaceNla *snla= (SpaceNla *)sl;
+ bDopeSheet *ads= snla->ads;
+
+ if (ads->filter_grp) {
+ ads->filter_grp=
restore_pointer_by_name(newmain, (ID *)ads->filter_grp, 0);
+ }
}
else if(sl->spacetype==SPACE_TEXT) {
SpaceText *st= (SpaceText *)sl;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs