diff options
author | Jacques Lucke <jacques@blender.org> | 2021-11-23 11:44:04 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-11-23 11:44:04 +0300 |
commit | f6573560623606301d6e249032f42ca47ae438eb (patch) | |
tree | caa3dd7b8bc1eee1cb516870e2c4a3836bfdf5d9 /source/blender/blenkernel/intern/object.cc | |
parent | 28870a8f890b503c7dd5df9f949fc7030d56e8e4 (diff) | |
parent | b02ac2d8be38d198edfece7347919d67f7cc7275 (diff) |
Merge branch 'blender-v3.0-release'
Diffstat (limited to 'source/blender/blenkernel/intern/object.cc')
-rw-r--r-- | source/blender/blenkernel/intern/object.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc index d650003afe2..b2dd4b40bae 100644 --- a/source/blender/blenkernel/intern/object.cc +++ b/source/blender/blenkernel/intern/object.cc @@ -4573,10 +4573,11 @@ Mesh *BKE_object_get_evaluated_mesh(const Object *object) * object types either store it there or add a reference to it if it's owned elsewhere. */ GeometrySet *geometry_set_eval = object->runtime.geometry_set_eval; if (geometry_set_eval) { - /* Some areas expect to be able to modify the evaluated mesh. Theoretically this should be - * avoided, or at least protected with a lock, so a const mesh could be returned from this - * function. */ - Mesh *mesh = geometry_set_eval->get_mesh_for_write(); + /* Some areas expect to be able to modify the evaluated mesh in limited ways. Theoretically + * this should be avoided, or at least protected with a lock, so a const mesh could be returned + * from this function. We use a const_cast instead of #get_mesh_for_write, because that might + * result in a copy of the mesh when it is shared. */ + Mesh *mesh = const_cast<Mesh *>(geometry_set_eval->get_mesh_for_read()); if (mesh) { return mesh; } |