[Bf-blender-cvs] [0272501fbdc] greasepencil-object: GPencil: Fix Modifiers patching

Antonio Vazquez noreply at git.blender.org
Tue Mar 3 11:23:15 CET 2020


Commit: 0272501fbdceb0c5271734a614dc03fbaf54c10a
Author: Antonio Vazquez
Date:   Tue Mar 3 11:23:09 2020 +0100
Branches: greasepencil-object
https://developer.blender.org/rB0272501fbdceb0c5271734a614dc03fbaf54c10a

GPencil: Fix Modifiers patching

Also added a DNA check to avoid double patching for files created with development versions

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

M	source/blender/blenloader/intern/versioning_280.c

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

diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 81d69ca474e..24696efe11b 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -4389,8 +4389,10 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
   if (!MAIN_VERSION_ATLEAST(bmain, 283, 0)) {
 
-    /* Update Grease Pencil after drawing engine refactor. */
-    {
+    /* Update Grease Pencil after drawing engine refactor.
+     * It uses the seed variable of Array modifier to avoid double patching for
+     * files created with a development version. */
+    if (!DNA_struct_elem_find(fd->filesdna, "ArrayGpencilModifierData", "int", "seed")) {
       LISTBASE_FOREACH (Material *, mat, &bmain->materials) {
         MaterialGPencilStyle *gp_style = mat->gp_style;
         if (gp_style == NULL) {
@@ -4475,8 +4477,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
         /* Modifiers. */
         LISTBASE_FOREACH (GpencilModifierData *, md, &ob->greasepencil_modifiers) {
-          const GpencilModifierTypeInfo *mti = BKE_gpencil_modifierType_getInfo(md->type);
-          switch (mti->type) {
+          switch ((GpencilModifierType)md->type) {
             case eGpencilModifierType_Array: {
               ArrayGpencilModifierData *mmd = (ArrayGpencilModifierData *)md;
               mmd->seed = 1;



More information about the Bf-blender-cvs mailing list