From 37a60435796823efa2481d7b7b333d2e952cce07 Mon Sep 17 00:00:00 2001 From: xuhuisheng Date: Wed, 26 Nov 2025 12:31:37 +0800 Subject: [PATCH] Fix empty skeleton modification keeps print error messages --- scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp | 3 +++ .../resources/2d/skeleton/skeleton_modification_2d_lookat.cpp | 2 +- .../2d/skeleton/skeleton_modification_2d_twoboneik.cpp | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp index 4389cc31565..00f152289bb 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp @@ -253,6 +253,9 @@ void SkeletonModification2DCCDIK::_draw_editor_gizmo() { if (!ccdik_data_chain[i].editor_draw_gizmo) { continue; } + if (ccdik_data_chain[i].bone_idx < 0) { + continue; + } Bone2D *operation_bone = stack->skeleton->get_bone(ccdik_data_chain[i].bone_idx); editor_draw_angle_constraints(operation_bone, ccdik_data_chain[i].constraint_angle_min, ccdik_data_chain[i].constraint_angle_max, diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp index 78335454a3f..8ef48b810ac 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp @@ -180,7 +180,7 @@ void SkeletonModification2DLookAt::_setup_modification(SkeletonModificationStack } void SkeletonModification2DLookAt::_draw_editor_gizmo() { - if (!enabled || !is_setup) { + if (!enabled || !is_setup || bone_idx < 0) { return; } diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp index 2c60f620be8..cbc808d2553 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp @@ -217,7 +217,7 @@ void SkeletonModification2DTwoBoneIK::_setup_modification(SkeletonModificationSt } void SkeletonModification2DTwoBoneIK::_draw_editor_gizmo() { - if (!enabled || !is_setup) { + if (!enabled || !is_setup || joint_one_bone_idx < 0) { return; }