From e4367ccb786c246c388b043e1cd154efc518fe3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 23 Feb 2017 15:54:46 +0100 Subject: [PATCH] Alembic import: be more lenient towards unknown object types. Alembic is an interchange and caching format, that can contain custom object schemas. Blender shouldn't crash (because of failing asserts) just because it doesn't know such an object type. --- source/blender/alembic/intern/abc_util.cc | 5 ++++- source/blender/alembic/intern/alembic_capi.cc | 7 +++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/blender/alembic/intern/abc_util.cc b/source/blender/alembic/intern/abc_util.cc index b07cbfe1c5a..194f4c276d1 100644 --- a/source/blender/alembic/intern/abc_util.cc +++ b/source/blender/alembic/intern/abc_util.cc @@ -366,7 +366,10 @@ AbcObjectReader *create_reader(const Alembic::AbcGeom::IObject &object, ImportSe reader = new AbcCurveReader(object, settings); } else { - assert(false); + std::cerr << "Alembic: unknown how to handle objects of schema " + << md.get("schemaObjTitle") + << ", skipping object " + << object.getFullName() << std::endl; } return reader; diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index 91e1c8f9736..44d902907c3 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -502,11 +502,10 @@ static bool visit_object(const IObject &object, parent_is_part_of_this_object = true; } else { - std::cerr << "object is of unsupported schema type " - << "'" << object.getMetaData().get("schemaObjTitle") << "'" + std::cerr << "Alembic object " << full_name + << " is of unsupported schema type '" + << object.getMetaData().get("schemaObjTitle") << "'" << std::endl; - BLI_assert(false); - return false; } if (reader) {