Merged changes in the trunk up to revision 26719.
[blender-staging.git] / source / blender / blenkernel / intern / scene.c
index 4624fbe40dc846762b3bc1a8698507535eb068e4..9603863b60fb2680c7bfaa0a885e6c70d781b2c9 100644 (file)
@@ -95,6 +95,8 @@
 #include "BLI_math.h"
 #include "BLI_blenlib.h"
 
+#include "FRS_freestyle_config.h"
+
 //XXX #include "nla.h"
 
 #ifdef WIN32
@@ -243,7 +245,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--;
@@ -283,6 +286,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);
@@ -952,6 +959,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 */