From 0c495005dd83913864acb510c1d4194a2275dbb0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 16 Apr 2018 19:40:57 +0200 Subject: Fix multi-object edit crash Border select assumed all objects had pose bones. --- source/blender/editors/space_view3d/view3d_select.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 7e14aa0dbfa..56f69394765 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -2157,9 +2157,15 @@ static int do_object_pose_box_select(bContext *C, ViewContext *vc, rcti *rect, b if ((base->object->select_color & 0x0000FFFF) != (col[4] & 0x0000FFFF)) { break; } - const uint hit_bone = (col[4] & ~BONESEL_ANY) >> 16; - bPoseChannel *pchan = BLI_findlink(&base->object->pose->chanbase, hit_bone);; - bone = pchan ? pchan->bone : NULL; + + if ((base->object->pose != NULL) && bone_only) { + const uint hit_bone = (col[4] & ~BONESEL_ANY) >> 16; + bPoseChannel *pchan = BLI_findlink(&base->object->pose->chanbase, hit_bone);; + bone = pchan ? pchan->bone : NULL; + } + else { + bone = NULL; + } } } -- cgit v1.2.3