diff options
author | Joseph Eagar <joeedh@gmail.com> | 2022-11-10 22:49:39 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2022-11-10 22:49:39 +0300 |
commit | b2000412f21dfa5da6a02c7b0922280f5049cc2a (patch) | |
tree | 0c892d027eae7c03ad9db4882482caefa5540604 | |
parent | cad11f3098c0a2165a80f168a5ce0034f4bbdffc (diff) |
Sculpt: Fix T102209: Multiresolution levels greater than 6 crashes
pbvh->leaf_limit needs to be at least 4 to split nodes
original face boundaries properly.
-rw-r--r-- | source/blender/blenkernel/intern/pbvh.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c index 98e89b09060..24ea2de98f6 100644 --- a/source/blender/blenkernel/intern/pbvh.c +++ b/source/blender/blenkernel/intern/pbvh.c @@ -833,7 +833,12 @@ void BKE_pbvh_build_grids(PBVH *pbvh, pbvh->gridkey = *key; pbvh->grid_hidden = grid_hidden; pbvh->subdiv_ccg = subdiv_ccg; - pbvh->leaf_limit = max_ii(LEAF_LIMIT / (gridsize * gridsize), 1); + + /* Ensure leaf limit is at least 4 so there's room + * to split at original face boundaries. + * Fixes T102209. + */ + pbvh->leaf_limit = max_ii(LEAF_LIMIT / (gridsize * gridsize), 4); /* We need the base mesh attribute layout for PBVH draw. */ pbvh->vdata = &me->vdata; |