Revision: 23680 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23680 Author: mxcurioni Date: 2009-10-07 09:18:50 +0200 (Wed, 07 Oct 2009)
Log Message: ----------- Corrected I/O crash: Freestyle configuration can be saved to/loaded from file Modified Paths: -------------- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/scene.c branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c branches/soc-2008-mxcurioni/source/blender/blenloader/intern/writefile.c Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/scene.c =================================================================== --- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/scene.c 2009-10-07 07:11:10 UTC (rev 23679) +++ branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/scene.c 2009-10-07 07:18:50 UTC (rev 23680) @@ -240,7 +240,8 @@ void free_scene(Scene *sce) { Base *base; - + SceneRenderLayer *srl; + base= sce->base.first; while(base) { base->object->id.us--; @@ -275,6 +276,10 @@ sce->r.ffcodecdata.properties = NULL; } + for(srl= sce->r.layers.first; srl; srl= srl->next) { + BLI_freelistN( &srl->freestyleConfig.modules); + } + BLI_freelistN(&sce->markers); BLI_freelistN(&sce->transform_spaces); BLI_freelistN(&sce->r.layers); Modified: branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c =================================================================== --- branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c 2009-10-07 07:11:10 UTC (rev 23679) +++ branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c 2009-10-07 07:18:50 UTC (rev 23680) @@ -4235,6 +4235,7 @@ Editing *ed; Sequence *seq; MetaStack *ms; + SceneRenderLayer *srl; sce->theDag = NULL; sce->dagisvalid = 0; @@ -4405,6 +4406,10 @@ link_list(fd, &(sce->transform_spaces)); link_list(fd, &(sce->r.layers)); + for(srl= sce->r.layers.first; srl; srl= srl->next) { + link_list(fd, &(srl->freestyleConfig.modules)); + } + sce->nodetree= newdataadr(fd, sce->nodetree); if(sce->nodetree) direct_link_nodetree(fd, sce->nodetree); Modified: branches/soc-2008-mxcurioni/source/blender/blenloader/intern/writefile.c =================================================================== --- branches/soc-2008-mxcurioni/source/blender/blenloader/intern/writefile.c 2009-10-07 07:11:10 UTC (rev 23679) +++ branches/soc-2008-mxcurioni/source/blender/blenloader/intern/writefile.c 2009-10-07 07:18:50 UTC (rev 23680) @@ -1731,6 +1731,7 @@ TimeMarker *marker; TransformOrientation *ts; SceneRenderLayer *srl; + FreestyleModuleConfig *fmc; ToolSettings *tos; sce= scebase->first; @@ -1855,8 +1856,14 @@ for(ts = sce->transform_spaces.first; ts; ts = ts->next) writestruct(wd, DATA, "TransformOrientation", 1, ts); - for(srl= sce->r.layers.first; srl; srl= srl->next) + for(srl= sce->r.layers.first; srl; srl= srl->next) { writestruct(wd, DATA, "SceneRenderLayer", 1, srl); + + for(fmc= srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) { + writestruct(wd, DATA, "FreestyleModuleConfig", 1, fmc); + } + + } if(sce->nodetree) { writestruct(wd, DATA, "bNodeTree", 1, sce->nodetree); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs