Merged changes in the trunk up to revision 28536.
[blender.git] / source / blender / blenkernel / intern / scene.c
index faabaf4f91f4b5ac978f71e093709d26107dbb6b..897a51a5634f637e7be294882c86d31a5aa04962 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 */