diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-22 06:26:15 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-22 06:28:17 +0300 |
commit | a93cbb70cd6ac32193ca3b656c47f620ef10a4d2 (patch) | |
tree | 32c642c69b2d049754a762207f445eb946b4ed6c /source/blender/bmesh/intern | |
parent | 88218946da3b6fff7dd4b6779f1a23885bf89a4e (diff) |
Fix T60643: BMesh operator enum args fail when unset from Python
Error introduced with bmesh operator enum support: 1e6a5eb087911
Diffstat (limited to 'source/blender/bmesh/intern')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_operator_api.h | 6 | ||||
-rw-r--r-- | source/blender/bmesh/intern/bmesh_operators.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_operator_api.h b/source/blender/bmesh/intern/bmesh_operator_api.h index e609500ddc3..c4e3ea7a436 100644 --- a/source/blender/bmesh/intern/bmesh_operator_api.h +++ b/source/blender/bmesh/intern/bmesh_operator_api.h @@ -228,7 +228,11 @@ typedef struct BMOpSlot { float vec[3]; void **buf; GHash *ghash; - BMO_FlagSet *enum_flags; + struct { + /** Don't clobber (i) when assigning flags, see #eBMOpSlotSubType_Int. */ + int _i; + BMO_FlagSet *flags; + } enum_data; } data; } BMOpSlot; diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c index 60de182499b..e4e8039c89f 100644 --- a/source/blender/bmesh/intern/bmesh_operators.c +++ b/source/blender/bmesh/intern/bmesh_operators.c @@ -142,7 +142,7 @@ static void bmo_op_slots_init(const BMOSlotType *slot_types, BMOpSlot *slot_args break; case BMO_OP_SLOT_INT: if (ELEM(slot->slot_subtype.intg, BMO_OP_SLOT_SUBTYPE_INT_ENUM, BMO_OP_SLOT_SUBTYPE_INT_FLAG)) { - slot->data.enum_flags = slot_types[i].enum_flags; + slot->data.enum_data.flags = slot_types[i].enum_flags; } default: break; |