[Bf-blender-cvs] [b902edae75c] blender-v2.91-release: Fix T65585: Knife fails when cursor away from the object
Campbell Barton
noreply at git.blender.org
Tue Nov 10 06:29:50 CET 2020
Commit: b902edae75c7087d08339fdf03d132341df1f277
Author: Campbell Barton
Date: Tue Nov 10 16:22:35 2020 +1100
Branches: blender-v2.91-release
https://developer.blender.org/rBb902edae75c7087d08339fdf03d132341df1f277
Fix T65585: Knife fails when cursor away from the object
Zeroed mouse coordinates were being used making projection fail.
===================================================================
M source/blender/editors/mesh/editmesh_knife.c
===================================================================
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c
index 0ab1c926189..f45f48e0e32 100644
--- a/source/blender/editors/mesh/editmesh_knife.c
+++ b/source/blender/editors/mesh/editmesh_knife.c
@@ -1903,8 +1903,15 @@ static BMFace *knife_find_closest_face(KnifeTool_OpData *kcd,
if (!f) {
if (kcd->is_interactive) {
- /* Try to use back-buffer selection method if ray casting failed. */
- f = EDBM_face_find_nearest(&kcd->vc, &dist);
+ /* Try to use back-buffer selection method if ray casting failed.
+ *
+ * Apply the mouse coordinates to a copy of the view-context
+ * since we don't want to rely on this being set elsewhere. */
+ ViewContext vc = kcd->vc;
+ vc.mval[0] = (int)kcd->curr.mval[0];
+ vc.mval[1] = (int)kcd->curr.mval[1];
+
+ f = EDBM_face_find_nearest(&vc, &dist);
/* cheat for now; just put in the origin instead
* of a true coordinate on the face.
More information about the Bf-blender-cvs
mailing list