From a6e6ad07563738b641c9df9e8c48ec0cf9342068 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 21 Jan 2019 15:34:34 +0100 Subject: Fix T60683, T60662: Cycles render crash in edit mode for certain meshes. --- intern/cycles/blender/blender_util.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'intern') diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index d3a8b935a6c..1b9e1911591 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -71,8 +71,12 @@ static inline BL::Mesh object_to_mesh(BL::BlendData& data, /* TODO: calc_undeformed is not used. */ mesh = BL::Mesh(object.data()); - /* Make a copy to split faces if we use autosmooth, otherwise not needed. */ - if (mesh.use_auto_smooth() && subdivision_type == Mesh::SUBDIVISION_NONE) { + /* Make a copy to split faces if we use autosmooth, otherwise not needed. + * Also in edit mode do we need to make a copy, to ensure data layers like + * UV are not empty. */ + if (mesh.is_editmode() || + (mesh.use_auto_smooth() && subdivision_type == Mesh::SUBDIVISION_NONE)) + { mesh = data.meshes.new_from_object(depsgraph, object, false, false); } } -- cgit v1.2.3