Merging trunk 17342:17457
[blender-staging.git] / source / blender / src / gpencil.c
index 8d64e17bb8ab15cb91f47342f88271a669a11490..f4cfc0c0dd6b1acbeb5f6f1f5d3d470337d11930 100644 (file)
@@ -267,6 +267,7 @@ bGPDframe *gpencil_frame_duplicate (bGPDframe *src)
                
        /* make a copy of the source frame */
        dst= MEM_dupallocN(src);
+       dst->prev= dst->next= NULL;
        
        /* copy strokes */
        dst->strokes.first = dst->strokes.last= NULL;
@@ -294,13 +295,18 @@ bGPDlayer *gpencil_layer_duplicate (bGPDlayer *src)
                
        /* make a copy of source layer */
        dst= MEM_dupallocN(src);
+       dst->prev= dst->next= NULL;
        
        /* copy frames */
        dst->frames.first= dst->frames.last= NULL;
        for (gpf= src->frames.first; gpf; gpf= gpf->next) {
-               /* make a copy of source stroke */
+               /* make a copy of source frame */
                gpfd= gpencil_frame_duplicate(gpf);
                BLI_addtail(&dst->frames, gpfd);
+               
+               /* if source frame was the current layer's 'active' frame, reassign that too */
+               if (gpf == dst->actframe)
+                       dst->actframe= gpfd;
        }
        
        /* return new layer */