From 24be7bd99eb7ee5740c75661e157a1318e348600 Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Wed, 20 Mar 2024 23:46:55 -0300 Subject: [PATCH] Fix #119716: snap in curve editing when mesh is generated by Geometry Nodes In these cases, the Mesh is defined as an instance of the object. These instances need to be ignored when in edit mode. --- source/blender/editors/transform/transform_snap_object.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/editors/transform/transform_snap_object.cc b/source/blender/editors/transform/transform_snap_object.cc index c927394119f..452fb8763db 100644 --- a/source/blender/editors/transform/transform_snap_object.cc +++ b/source/blender/editors/transform/transform_snap_object.cc @@ -899,6 +899,12 @@ static eSnapMode snap_obj_fn(SnapObjectContext *sctx, } if (GS(ob_data->name) == ID_ME) { + if (ob_eval->type == OB_CURVES_LEGACY && BKE_object_is_in_editmode(ob_eval)) { + /* Sometimes, such as when Mesh is generated by Geometry Nodes, a Curve object may have Mesh + * instances. + * In these cases, skip the snap to Mesh if the Curve is in edit mode. */ + return SCE_SNAP_TO_NONE; + } return snap_object_mesh(sctx, ob_eval, ob_data, obmat, sctx->runtime.snap_to_flag, use_hide); }