Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Guetzkow <gitcommit@outlook.de>2021-01-26 14:41:47 +0300
committerRobert Guetzkow <gitcommit@outlook.de>2021-01-26 14:41:47 +0300
commit74633c0456b62b35a925c45cbff30508e53e86e9 (patch)
tree80202d41232849f4b789e38a1a8b0be0c7e2a56b /source/blender/nodes
parentf066cee92fe8dec37c50618b499e20dfd7c11249 (diff)
parentc399651637a3a9c8e416b8baffc571fa8cfa571f (diff)
Merge branch 'blender-v2.92-release'
Diffstat (limited to 'source/blender/nodes')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
index b9c9e5bd02a..02f0aca9c23 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
@@ -43,18 +43,32 @@ static Mesh *join_mesh_topology_and_builtin_attributes(Span<const MeshComponent
int totedges = 0;
int totpolys = 0;
+ int64_t cd_dirty_vert = 0;
+ int64_t cd_dirty_poly = 0;
+ int64_t cd_dirty_edge = 0;
+ int64_t cd_dirty_loop = 0;
+
for (const MeshComponent *mesh_component : src_components) {
const Mesh *mesh = mesh_component->get_for_read();
totverts += mesh->totvert;
totloops += mesh->totloop;
totedges += mesh->totedge;
totpolys += mesh->totpoly;
+ cd_dirty_vert |= mesh->runtime.cd_dirty_vert;
+ cd_dirty_poly |= mesh->runtime.cd_dirty_poly;
+ cd_dirty_edge |= mesh->runtime.cd_dirty_edge;
+ cd_dirty_loop |= mesh->runtime.cd_dirty_loop;
}
const Mesh *first_input_mesh = src_components[0]->get_for_read();
Mesh *new_mesh = BKE_mesh_new_nomain(totverts, totedges, 0, totloops, totpolys);
BKE_mesh_copy_settings(new_mesh, first_input_mesh);
+ new_mesh->runtime.cd_dirty_vert = cd_dirty_vert;
+ new_mesh->runtime.cd_dirty_poly = cd_dirty_poly;
+ new_mesh->runtime.cd_dirty_edge = cd_dirty_edge;
+ new_mesh->runtime.cd_dirty_loop = cd_dirty_loop;
+
int vert_offset = 0;
int loop_offset = 0;
int edge_offset = 0;