Commit: 106e73da8298697e8b96d878a279bbc98bdfa6ca Author: Antonioya Date: Wed Aug 8 11:10:56 2018 +0200 Branches: blender2.8 https://developer.blender.org/rB106e73da8298697e8b96d878a279bbc98bdfa6ca
Fix T56270: Crash when save a grease pencil file with instance modifier. The error was related to duplicate names in the internal hash used to order instances in z-depth. =================================================================== M source/blender/draw/engines/gpencil/gpencil_draw_utils.c =================================================================== diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index dba5f7b9c20..93269d4543f 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -1263,6 +1263,8 @@ static void gp_instance_modifier_make_instances(GPENCIL_StorageList *stl, Object { /* reset random */ mmd->rnd[0] = 1; + char buf[8]; + int e = 0; /* Generate instances */ for (int x = 0; x < mmd->count[0]; x++) { @@ -1284,6 +1286,14 @@ static void gp_instance_modifier_make_instances(GPENCIL_StorageList *stl, Object /* add object to cache */ newob = MEM_dupallocN(ob); + + /* create a unique name or the object hash used in draw will fail. + * the name must be unique in the hash, not in the scene because + * the object never is linked to scene. + */ + sprintf(buf, "___%d", e++); + strncat(newob->id.name, buf, sizeof(newob->id.name)); + mul_m4_m4m4(newob->obmat, ob->obmat, mat); /* apply scale */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs