From f37077ae5aaa36fab0eec97d89bcb88e42e6988c Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 27 Feb 2023 13:09:45 -0500 Subject: [PATCH] Mesh: Clear loose edges bitmap with count of zero When there are no loose edges, the loose edge bitmap shouldn't be used. That was already documented in the loose edge storage struct, but the bit vector wasn't actually cleared. --- source/blender/blenkernel/intern/mesh_runtime.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/mesh_runtime.cc b/source/blender/blenkernel/intern/mesh_runtime.cc index d1e56278c07..193803b526e 100644 --- a/source/blender/blenkernel/intern/mesh_runtime.cc +++ b/source/blender/blenkernel/intern/mesh_runtime.cc @@ -124,7 +124,9 @@ const blender::bke::LooseEdgeCache &Mesh::loose_edges() const count--; } } - + if (count == 0) { + loose_edges.clear_and_shrink(); + } r_data.count = count; }); @@ -135,7 +137,7 @@ void Mesh::loose_edges_tag_none() const { using namespace blender::bke; this->runtime->loose_edges_cache.ensure([&](LooseEdgeCache &r_data) { - r_data.is_loose_bits.resize(0); + r_data.is_loose_bits.clear_and_shrink(); r_data.count = 0; }); }