[Bf-blender-cvs] [b3d4f99d487] blender2.8: Fix bone-size crash

Campbell Barton noreply at git.blender.org
Tue May 15 11:37:51 CEST 2018


Commit: b3d4f99d487a0fc408593c6afdba7f04048110f0
Author: Campbell Barton
Date:   Tue May 15 11:36:39 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBb3d4f99d487a0fc408593c6afdba7f04048110f0

Fix bone-size crash

Own regression from multi-object transform.

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

M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_conversions.c

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

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)));
 }



More information about the Bf-blender-cvs mailing list