svn merge ^/trunk/blender -r43733:43751
[blender-staging.git] / source / blender / blenkernel / intern / displist.c
index e0f7691736884919260be5e0f7f72988851c4f1b..d944d12b0c049068efa52abd0f29b5f732388a5f 100644 (file)
@@ -432,6 +432,8 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal)
                totvert= 0;
                nextcol= 0;
                
+               BLI_begin_edgefill();
+               
                dl= dispbase->first;
                while(dl) {
        
@@ -885,12 +887,12 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba
 
                        if (dm) {
                                if (vertCos) {
-                                       DerivedMesh *tdm = CDDM_copy(dm);
+                                       DerivedMesh *tdm = CDDM_copy(dm, 0);
                                        dm->release(dm);
                                        dm = tdm;
 
                                        CDDM_apply_vert_coords(dm, vertCos);
-                                       CDDM_calc_normals(dm);
+                                       CDDM_calc_normals_mapping(dm);
                                }
                        } else {
                                if (vertCos) {
@@ -903,7 +905,7 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba
 
                                dm= CDDM_from_curve_customDB(ob, dispbase);
 
-                               CDDM_calc_normals(dm);
+                               CDDM_calc_normals_mapping(dm);
                        }
 
                        if (vertCos) {
@@ -926,12 +928,12 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba
 
        if (vertCos) {
                if (dm) {
-                       DerivedMesh *tdm = CDDM_copy(dm);
+                       DerivedMesh *tdm = CDDM_copy(dm, 0);
                        dm->release(dm);
                        dm = tdm;
 
                        CDDM_apply_vert_coords(dm, vertCos);
-                       CDDM_calc_normals(dm);
+                       CDDM_calc_normals_mapping(dm);
                        MEM_freeN(vertCos);
                } else {
                        displist_apply_allverts(dispbase, vertCos);