From b3d4f99d487a0fc408593c6afdba7f04048110f0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 15 May 2018 11:36:39 +0200 Subject: [PATCH] Fix bone-size crash Own regression from multi-object transform. --- source/blender/editors/transform/transform.h | 1 + source/blender/editors/transform/transform_conversions.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 0982f91f825..892187f11db 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -551,6 +551,7 @@ typedef struct TransInfo { /* transinfo->flag */ #define T_OBJECT (1 << 0) +/** \note We could remove 'T_EDIT' and use 'obedit_type', for now ensure they're in sync. */ #define T_EDIT (1 << 1) #define T_POSE (1 << 2) #define T_TEXTURE (1 << 3) diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index ddd8af99afc..49da143f2f3 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -8504,6 +8504,7 @@ void createTransData(bContext *C, TransInfo *t) if (t->mode == TFM_BONESIZE) { t->flag &= ~(T_EDIT | T_POINTS); t->flag |= T_POSE; + t->obedit_type = -1; FOREACH_TRANS_DATA_CONTAINER (t, tc) { tc->poseobj = tc->obedit; @@ -8582,4 +8583,6 @@ void createTransData(bContext *C, TransInfo *t) /* Check that 'countAndCleanTransDataContainer' ran. */ BLI_assert(t->data_len_all != -1); + + BLI_assert((!(t->flag & T_EDIT)) == (!(t->obedit_type != -1))); }