[Bf-blender-cvs] [8a02696724e] master: Fix assert triggered when snapping to evaluated geometry of a Curve
Germano Cavalcante
noreply at git.blender.org
Thu Jun 9 01:53:05 CEST 2022
Commit: 8a02696724ead723aae40f20613a709ca9fce056
Author: Germano Cavalcante
Date: Wed Jun 8 20:41:56 2022 -0300
Branches: master
https://developer.blender.org/rB8a02696724ead723aae40f20613a709ca9fce056
Fix assert triggered when snapping to evaluated geometry of a Curve
Curves can have a Mesh evaluated, but only objects of type Mesh have
EditMesh.
This bug is harmless because `sctx->editmesh_caches.remove(value)` only
works with pointers and `BKE_editmesh_from_object(ob_eval)`, even though
it doesn't actually return a `BMEditMesh`, it still returns a pointer
that doesn't exist as a key.
===================================================================
M source/blender/editors/transform/transform_snap_object.cc
===================================================================
diff --git a/source/blender/editors/transform/transform_snap_object.cc b/source/blender/editors/transform/transform_snap_object.cc
index b5b4489ccb5..40d1714f94f 100644
--- a/source/blender/editors/transform/transform_snap_object.cc
+++ b/source/blender/editors/transform/transform_snap_object.cc
@@ -283,8 +283,10 @@ static SnapData_Mesh *snap_object_data_mesh_get(SnapObjectContext *sctx,
}
}
else {
- /* Any existing #SnapData_EditMesh is now invalid. */
- sctx->editmesh_caches.remove(BKE_editmesh_from_object(ob_eval));
+ if (ob_eval->type == OB_MESH) {
+ /* Any existing #SnapData_EditMesh is now invalid. */
+ sctx->editmesh_caches.remove(BKE_editmesh_from_object(ob_eval));
+ }
std::unique_ptr<SnapData_Mesh> sod_ptr = std::make_unique<SnapData_Mesh>();
sod = sod_ptr.get();
More information about the Bf-blender-cvs
mailing list