diff options
author | Dalai Felinto <dalai@blender.org> | 2020-03-11 17:30:24 +0300 |
---|---|---|
committer | Dalai Felinto <dalai@blender.org> | 2020-03-11 17:32:21 +0300 |
commit | b198cef89fa4a173580e8745dee051f37d1927c8 (patch) | |
tree | 3bc06e4fab6c6ab336b43543f4057a23b2b8474c /source/blender/editors/armature/armature_select.c | |
parent | b9f6d033beecd75398be14419d37d8aab0609812 (diff) |
Fix T74516: Armature Crash on Select Similar Group
Select Similar Group and Select Similar Shape had this issue since they
were added. Basically it assumes there is pose data which in some cases
it does not.
Diffstat (limited to 'source/blender/editors/armature/armature_select.c')
-rw-r--r-- | source/blender/editors/armature/armature_select.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c index 0f288c0d8b8..47eb09cdf3d 100644 --- a/source/blender/editors/armature/armature_select.c +++ b/source/blender/editors/armature/armature_select.c @@ -1461,6 +1461,13 @@ static void select_similar_data_pchan(bContext *C, const size_t bytes_size, cons EditBone *ebone_act = CTX_data_active_bone(C); const bPoseChannel *pchan_active = BKE_pose_channel_find_name(obedit->pose, ebone_act->name); + + /* This will mostly happen for corner cases where the user tried to access this + * before having any valid pose data for the armature. */ + if (pchan_active == NULL) { + return; + } + const char *data_active = (const char *)POINTER_OFFSET(pchan_active, offset); for (EditBone *ebone = arm->edbo->first; ebone; ebone = ebone->next) { if (EBONE_SELECTABLE(arm, ebone)) { |