[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14600] trunk/blender/source/blender/ blenloader/intern/readfile.c: Cloth: Old RC1 and RC2 files with cloth should open again and not crash ( after the DNA rearrangement to fix a bug yesterday).
Daniel Genrich
daniel.genrich at gmx.net
Mon Apr 28 19:02:55 CEST 2008
Revision: 14600
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14600
Author: genscher
Date: 2008-04-28 19:02:55 +0200 (Mon, 28 Apr 2008)
Log Message:
-----------
Cloth: Old RC1 and RC2 files with cloth should open again and not crash (after the DNA rearrangement to fix a bug yesterday). But be carefull your settings get lost. Best thing to do: 1. write settings down, 2. open blend in new (>=17 subversion) blender and just save the file (and ignore warnings on the command line.) Take this as a good example why not to use svn blender versions for production purposes ;)
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 2008-04-28 16:21:26 UTC (rev 14599)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2008-04-28 17:02:55 UTC (rev 14600)
@@ -7593,6 +7593,31 @@
idproperties_fix_group_lengths(main->brush);
idproperties_fix_group_lengths(main->particle);
}
+
+ /* only needed until old bad svn/RC1,2 files are saved with a > 17 version -dg */
+ if(main->versionfile == 245 && main->subversionfile < 17) {
+ ModifierData *md;
+ Object *ob;
+
+ for(ob = main->object.first; ob; ob= ob->id.next) {
+ for(md=ob->modifiers.first; md; ) {
+ if(md->type==eModifierType_Cloth) {
+ ModifierData *next;
+ MEM_freeN(((ClothModifierData *)md)->sim_parms);
+ MEM_freeN(((ClothModifierData *)md)->coll_parms);
+ MEM_freeN(((ClothModifierData *)md)->point_cache);
+ ((ClothModifierData *)md)->sim_parms = NULL;
+ ((ClothModifierData *)md)->coll_parms = NULL;
+ ((ClothModifierData *)md)->point_cache = NULL;
+ next=md->next;
+ BLI_remlink(&ob->modifiers, md);
+ md = next;
+ }
+ else
+ md = md->next;
+ }
+ }
+ }
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
/* WATCH IT 2!: Userdef struct init has to be in src/usiblender.c! */
More information about the Bf-blender-cvs
mailing list