diff --git a/source/blender/blenkernel/BKE_mesh_legacy_convert.hh b/source/blender/blenkernel/BKE_mesh_legacy_convert.hh index fdb1584e374..e8f444986cf 100644 --- a/source/blender/blenkernel/BKE_mesh_legacy_convert.hh +++ b/source/blender/blenkernel/BKE_mesh_legacy_convert.hh @@ -114,7 +114,7 @@ void BKE_mesh_calc_edges_legacy(Mesh *mesh); void BKE_mesh_do_versions_cd_flag_init(Mesh *mesh); -void BKE_main_mesh_legacy_convert_auto_smooth(Main &bmain); +void BKE_main_mesh_legacy_convert_auto_smooth(Main &bmain, bool new_ids_only = false); /** * Calculate/create edges from tessface data diff --git a/source/blender/blenkernel/intern/blendfile_link_append.cc b/source/blender/blenkernel/intern/blendfile_link_append.cc index 33025afb757..56fdf64ca79 100644 --- a/source/blender/blenkernel/intern/blendfile_link_append.cc +++ b/source/blender/blenkernel/intern/blendfile_link_append.cc @@ -1375,10 +1375,10 @@ void BKE_blendfile_append(BlendfileLinkAppendContext *lapp_context, ReportList * instantiate_context.active_collection = nullptr; loose_data_instantiate(&instantiate_context); + BKE_main_mesh_legacy_convert_auto_smooth(*bmain, true); BKE_main_id_newptr_and_tag_clear(bmain); blendfile_link_append_proxies_convert(bmain, reports); - BKE_main_mesh_legacy_convert_auto_smooth(*bmain); } void BKE_blendfile_link(BlendfileLinkAppendContext *lapp_context, ReportList *reports) diff --git a/source/blender/blenkernel/intern/mesh_legacy_convert.cc b/source/blender/blenkernel/intern/mesh_legacy_convert.cc index 596745e6359..5d933f2c35b 100644 --- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc +++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc @@ -2263,7 +2263,7 @@ static ModifierData *create_auto_smooth_modifier(Object &object, } // namespace blender::bke -void BKE_main_mesh_legacy_convert_auto_smooth(Main &bmain) +void BKE_main_mesh_legacy_convert_auto_smooth(Main &bmain, const bool new_ids_only) { using namespace blender::bke; @@ -2279,6 +2279,9 @@ void BKE_main_mesh_legacy_convert_auto_smooth(Main &bmain) if (object->type != OB_MESH) { continue; } + if (new_ids_only && (object->id.tag & LIB_TAG_NEW) == 0) { + continue; + } Mesh *mesh = static_cast(object->data); const float angle = mesh->smoothresh_legacy; if (!(mesh->flag & ME_AUTOSMOOTH_LEGACY)) {