Cleanup: de-duplicate checks in object-mode item callback

This commit is contained in:
Campbell Barton 2021-05-07 11:16:58 +10:00
parent ff1b35af39
commit 5a3307230e
1 changed files with 1 additions and 18 deletions

View File

@ -1592,25 +1592,8 @@ static const EnumPropertyItem *object_mode_set_itemsf(bContext *C,
const Object *ob = CTX_data_active_object(C);
if (ob) {
const bool use_mode_particle_edit = ED_object_particle_edit_mode_supported(ob);
while (input->identifier) {
if ((input->value == OB_MODE_EDIT && OB_TYPE_SUPPORT_EDITMODE(ob->type)) ||
(input->value == OB_MODE_POSE && (ob->type == OB_ARMATURE)) ||
(input->value == OB_MODE_PARTICLE_EDIT && use_mode_particle_edit) ||
(ELEM(input->value,
OB_MODE_SCULPT,
OB_MODE_VERTEX_PAINT,
OB_MODE_WEIGHT_PAINT,
OB_MODE_TEXTURE_PAINT) &&
(ob->type == OB_MESH)) ||
(ELEM(input->value,
OB_MODE_EDIT_GPENCIL,
OB_MODE_PAINT_GPENCIL,
OB_MODE_SCULPT_GPENCIL,
OB_MODE_WEIGHT_GPENCIL,
OB_MODE_VERTEX_GPENCIL) &&
(ob->type == OB_GPENCIL)) ||
(input->value == OB_MODE_OBJECT)) {
if (ED_object_mode_compat_test(ob, input->value)) {
RNA_enum_item_add(&item, &totitem, input);
}
input++;