Commit: 678ce13c7215c49e1d2812cf0fb07cdc8e09aba6
Author: Antonio Vazquez
Date:   Tue Feb 11 11:52:09 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB678ce13c7215c49e1d2812cf0fb07cdc8e09aba6

GPencil: Fix merge layers operator to merge Mask list

===================================================================

M       source/blender/editors/gpencil/gpencil_data.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_data.c 
b/source/blender/editors/gpencil/gpencil_data.c
index fb528678f94..a8e4947cda2 100644
--- a/source/blender/editors/gpencil/gpencil_data.c
+++ b/source/blender/editors/gpencil/gpencil_data.c
@@ -1196,6 +1196,20 @@ static int gp_merge_layer_exec(bContext *C, wmOperator 
*op)
     BLI_movelisttolist(&frame->strokes, &gpf->strokes);
   }
 
+  /* Add Masks to destination layer. */
+  LISTBASE_FOREACH (bGPDlayer_Mask *, mask, &gpl_next->mask_layers) {
+    /* Don't add merged layers or missing layer names. */
+    if (!BKE_gpencil_layer_named_get(gpd, mask->name) || STREQ(mask->name, 
gpl_next->info) ||
+        STREQ(mask->name, gpl_current->info)) {
+      continue;
+    }
+    if (!BLI_findstring(&gpl_current->mask_layers, mask->name, 
offsetof(bGPDlayer_Mask, name))) {
+      bGPDlayer_Mask *mask_new = MEM_dupallocN(mask);
+      BLI_addtail(&gpl_current->mask_layers, mask_new);
+      gpl_current->act_mask++;
+    }
+  }
+
   /* Now delete next layer */
   BKE_gpencil_layer_delete(gpd, gpl_next);
   BLI_ghash_free(gh_frames_cur, NULL, NULL);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to