Merged changes in the trunk up to revision 29409.
[blender.git] / source / blender / blenkernel / intern / scene.c
index dcd305ef87e0e66615de2dc1155b728501d4a784..e13264babf4a9c5e4c53ee779e9ec3be8b92f4d1 100644 (file)
@@ -73,6 +73,8 @@
 #include "BLI_math.h"
 #include "BLI_blenlib.h"
 
+#include "FRS_freestyle_config.h"
+
 //XXX #include "nla.h"
 
 #ifdef WIN32
@@ -222,7 +224,8 @@ Scene *copy_scene(Main *bmain, Scene *sce, int type)
 void free_scene(Scene *sce)
 {
        Base *base;
-
+       SceneRenderLayer *srl;
+       
        base= sce->base.first;
        while(base) {
                base->object->id.us--;
@@ -262,6 +265,10 @@ void free_scene(Scene *sce)
                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);
@@ -1014,6 +1021,7 @@ void scene_add_render_layer(Scene *sce)
        srl->lay= (1<<20) -1;
        srl->layflag= 0x7FFF;   /* solid ztra halo edge strand */
        srl->passflag= SCE_PASS_COMBINED|SCE_PASS_Z;
+       FRS_add_freestyle_config( srl );
 }
 
 /* render simplification */