forked from bartvdbraak/blender
Fix T38706: dropdown labels in popups not updating
Caused by own recent changes to menu handling
This commit is contained in:
parent
2a9e33fba5
commit
64664541b6
@ -2491,6 +2491,25 @@ void ui_check_but(uiBut *but)
|
||||
|
||||
/* name: */
|
||||
switch (but->type) {
|
||||
|
||||
case MENU:
|
||||
if (BLI_rctf_size_x(&but->rect) > 24.0f) {
|
||||
/* only needed for menus in popup blocks that don't recreate buttons on redraw */
|
||||
if (but->block->flag & UI_BLOCK_LOOP) {
|
||||
if (but->rnaprop && (RNA_property_type(but->rnaprop) == PROP_ENUM)) {
|
||||
int value = RNA_property_enum_get(&but->rnapoin, but->rnaprop);
|
||||
const char *buf;
|
||||
if (RNA_property_enum_name_gettexted(but->block->evil_C,
|
||||
&but->rnapoin, but->rnaprop, value, &buf))
|
||||
{
|
||||
BLI_strncpy(but->str, buf, sizeof(but->strdata));
|
||||
}
|
||||
}
|
||||
}
|
||||
BLI_strncpy(but->drawstr, but->str, sizeof(but->drawstr));
|
||||
}
|
||||
break;
|
||||
|
||||
case NUM:
|
||||
case NUMSLI:
|
||||
|
||||
|
@ -793,6 +793,7 @@ void RNA_property_enum_items_gettexted(struct bContext *C, PointerRNA *ptr, Prop
|
||||
bool RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value);
|
||||
bool RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
|
||||
bool RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
|
||||
bool RNA_property_enum_name_gettexted(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
|
||||
int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
|
||||
|
||||
StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop);
|
||||
|
@ -1437,6 +1437,19 @@ bool RNA_property_enum_name(bContext *C, PointerRNA *ptr, PropertyRNA *prop, con
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RNA_property_enum_name_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name)
|
||||
{
|
||||
bool result;
|
||||
|
||||
result = RNA_property_enum_name(C, ptr, prop, value, name);
|
||||
|
||||
if (result) {
|
||||
*name = BLF_pgettext(prop->translation_context, *name);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int RNA_property_enum_bitflag_identifiers(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value,
|
||||
const char **identifier)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user