diff options
-rw-r--r-- | source/blender/modifiers/intern/MOD_array.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_boolean.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 1c067892702..5e90aa10294 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -346,9 +346,9 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, BMOpSlot *slot_targetmap = NULL; /* for weldop */ /* need to avoid infinite recursion here */ - if (amd->start_cap && amd->start_cap != ob) + if (amd->start_cap && amd->start_cap != ob && amd->start_cap->type == OB_MESH) start_cap = mesh_get_derived_final(scene, amd->start_cap, CD_MASK_MESH); - if (amd->end_cap && amd->end_cap != ob) + if (amd->end_cap && amd->end_cap != ob && amd->end_cap->type == OB_MESH) end_cap = mesh_get_derived_final(scene, amd->end_cap, CD_MASK_MESH); unit_m4(offset); diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 04198d9feb9..2be2f350a73 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -136,7 +136,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, * in other scenes when compositing */ if (bmd->object != ob) { /* weak! - but we can too easy end up with circular dep crash otherwise */ - if (modifiers_findByType(bmd->object, eModifierType_Boolean) == NULL) { + if (bmd->object->type == OB_MESH && modifiers_findByType(bmd->object, eModifierType_Boolean) == NULL) { dm = mesh_get_derived_final(md->scene, bmd->object, CD_MASK_MESH); } else { |