Page MenuHome

Fix T95542: Dual Mesh crashes with 'bad meshes'
ClosedPublic

Authored by Wannes Malfait (Wannes) on Feb 9 2022, 7:25 PM.

Details

Summary

The problem was that the code for sorting polygons around a vertex
assumed that it was a manifold or boundary vertex. However in some cases
the vertex could still be nonmanifold causing the crash. The cases where
the sorting fails are now detected and these vertices are then marked as
nonmanifold.

Diff Detail

Repository
rB Blender
Branch
dual_mesh_crash (branched from master)
Build Status
Buildable 20597
Build 20597: arc lint + arc unit

Event Timeline

Wannes Malfait (Wannes) requested review of this revision.Feb 9 2022, 7:25 PM
Wannes Malfait (Wannes) created this revision.
Hans Goudey (HooglyBoogly) added inline comments.
source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
452

It would be nice to have a "because" here, i.e. The vertex is not manifold because ... ,

663

Unrelated to this patch, but this should probably use std::move, to make sure the array isn't copied when it has been allocated.

This revision is now accepted and ready to land.Feb 15 2022, 10:48 PM
Wannes Malfait (Wannes) marked an inline comment as done.
  • Better comment