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:
authorCampbell Barton <ideasman42@gmail.com>2021-04-29 17:51:14 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-04-29 17:51:14 +0300
commit315582f28cefbf158b308f0dea17dab949eb6eff (patch)
tree20cbd5c3e12d0c9d7a8e474eec977c80e9d53e48 /source/blender/bmesh
parent5946352ae2cd3ef14d8af07f8d4bd047954b9fd1 (diff)
Fix T86799: Boolean crashes duplicating object with "Fast" solver
BMesh intersect could leave invalid items in the selection list, causing a crash. The list is now cleared since boolean is such a destructive operation, it's unlikely the selection order would be useful. Thanks to @lukastoenne for finding the root cause.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/tools/bmesh_intersect.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/bmesh/tools/bmesh_intersect.c b/source/blender/bmesh/tools/bmesh_intersect.c
index c176210426b..710d7f79637 100644
--- a/source/blender/bmesh/tools/bmesh_intersect.c
+++ b/source/blender/bmesh/tools/bmesh_intersect.c
@@ -1660,5 +1660,9 @@ bool BM_mesh_intersect(BMesh *bm,
BLI_memarena_free(s.mem_arena);
+ /* It's unlikely the selection history is useful at this point,
+ * if this is not called this array would need to be validated, see: T86799. */
+ BM_select_history_clear(bm);
+
return (has_edit_isect || has_edit_boolean);
}