[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