[Bf-blender-cvs] [dced0518d92] blender2.8: Fix crash selecting envelope bone joint

Campbell Barton noreply at git.blender.org
Thu May 3 14:51:39 CEST 2018


Commit: dced0518d92db056d6e61d35bd4b8fb0be994121
Author: Campbell Barton
Date:   Thu May 3 14:28:40 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBdced0518d92db056d6e61d35bd4b8fb0be994121

Fix crash selecting envelope bone joint

===================================================================

M	source/blender/draw/intern/draw_armature.c
M	source/blender/editors/armature/armature_select.c

===================================================================

diff --git a/source/blender/draw/intern/draw_armature.c b/source/blender/draw/intern/draw_armature.c
index 3b61d21849e..7b29b213bec 100644
--- a/source/blender/draw/intern/draw_armature.c
+++ b/source/blender/draw/intern/draw_armature.c
@@ -1195,7 +1195,8 @@ static void draw_bone_envelope(
 		rad_head = (pchan->parent && (boneflag & BONE_CONNECTED)) ? &pchan->parent->bone->rad_tail : &pchan->bone->rad_head;
 	}
 
-	if ((boneflag & BONE_NO_DEFORM) == 0 &&
+	if ((select_id == -1) &&
+	    (boneflag & BONE_NO_DEFORM) == 0 &&
 	    ((boneflag & BONE_SELECTED) || (eBone && (boneflag & (BONE_ROOTSEL | BONE_TIPSEL)))))
 	{
 		drw_shgroup_bone_envelope_distance(BONE_VAR(eBone, pchan, disp_mat), col_white, rad_head, rad_tail, distance);
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c
index af0483cf1dc..65f845ce34c 100644
--- a/source/blender/editors/armature/armature_select.c
+++ b/source/blender/editors/armature/armature_select.c
@@ -493,6 +493,8 @@ cache_end:
 					Base *base = NULL;
 					EditBone *ebone;
 					base = ED_armature_base_and_ebone_from_select_buffer(bases, bases_len, hitresult, &ebone);
+					/* If this fails, selection code is setting the selection ID's incorrectly. */
+					BLI_assert(base && ebone);
 
 					int dep;
 					/* clicks on bone points get advantage */



More information about the Bf-blender-cvs mailing list