From 7e720a8dd67a5170d2cfa5d629f7532151e7253b Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Wed, 16 Oct 2024 18:28:07 +0200 Subject: [PATCH] Fix #127195: Changing curve mean weight/radius/tilt changes handle type In the case of weight, tilt or radius (these dont don't change [handle] positions), dont change the handle types. See the doc for `BKE_nurb_handles_test` ("Use when something has changed handle positions") NOTE: a siilar check is done in `createTransCurveVerts` Pull Request: https://projects.blender.org/blender/blender/pulls/129056 --- source/blender/editors/space_view3d/view3d_buttons.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_view3d/view3d_buttons.cc b/source/blender/editors/space_view3d/view3d_buttons.cc index d9960aa55da..9aaf4b284c1 100644 --- a/source/blender/editors/space_view3d/view3d_buttons.cc +++ b/source/blender/editors/space_view3d/view3d_buttons.cc @@ -1141,7 +1141,11 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float if (CU_IS_2D(cu)) { BKE_nurb_project_2d(nu); } - BKE_nurb_handles_test(nu, NURB_HANDLE_TEST_EACH, false); /* test for bezier too */ + /* In the case of weight, tilt or radius (these dont don't change positions), dont change + * handle types. */ + if ((nu->type == CU_BEZIER) && apply_vcos) { + BKE_nurb_handles_test(nu, NURB_HANDLE_TEST_EACH, false); /* test for bezier too */ + } } } else if ((ob->type == OB_LATTICE) && (apply_vcos || median_basis.lattice.weight)) {