From 710d168e30e45686bacdbb294ae5bfe772c2cced Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Wed, 15 May 2024 15:23:26 +0200 Subject: [PATCH] Fix #121666: Modifying UVs of duplicate affects the original object Caused by 7eee378eccc8. Since the implicit sharing commit, uv data was not unshared when accessed. Fix along the ines of 34b44878449d (same downside of not being able to tell if the data is just read -- or written to). Pull Request: https://projects.blender.org/blender/blender/pulls/121786 --- source/blender/makesrna/intern/rna_mesh.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_mesh.cc b/source/blender/makesrna/intern/rna_mesh.cc index 5767c9c2702..6c2fc667139 100644 --- a/source/blender/makesrna/intern/rna_mesh.cc +++ b/source/blender/makesrna/intern/rna_mesh.cc @@ -941,10 +941,12 @@ static void rna_MeshUVLoopLayer_data_begin(CollectionPropertyIterator *iter, Poi { Mesh *mesh = rna_mesh(ptr); CustomDataLayer *layer = (CustomDataLayer *)ptr->data; + const int length = (mesh->runtime->edit_mesh) ? 0 : mesh->corners_num; + CustomData_ensure_data_is_mutable(layer, length); rna_iterator_array_begin(iter, layer->data, sizeof(float[2]), - (mesh->runtime->edit_mesh) ? 0 : mesh->corners_num, + length, 0, nullptr); }