Fix T41156: UILayout.prop_enum() does not observe "text" parameter override
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 23 Jul 2014 12:31:44 +0000 (14:31 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 23 Jul 2014 12:34:21 +0000 (14:34 +0200)
We do have odd behaviors with name and expanded enums, but in this case it did
not made any sense at all! :)

Note the error was not in RNA, but in C UILayout api itself...

source/blender/editors/interface/interface_layout.c

index ec956706fcc90cbd96849373b57026dc831c3f8b..645eb6070315e847f704f1b8d8524dd7bdff5de6 100644 (file)
@@ -1323,9 +1323,9 @@ void uiItemEnumR_string(uiLayout *layout, struct PointerRNA *ptr, const char *pr
 
        for (a = 0; item[a].identifier; a++) {
                if (item[a].value == ivalue) {
-                       const char *item_name = CTX_IFACE_(RNA_property_translation_context(prop), item[a].name);
+                       const char *item_name = name ? name : CTX_IFACE_(RNA_property_translation_context(prop), item[a].name);
 
-                       uiItemFullR(layout, ptr, prop, RNA_ENUM_VALUE, ivalue, 0, item_name ? item_name : name, icon ? icon : item[a].icon);
+                       uiItemFullR(layout, ptr, prop, RNA_ENUM_VALUE, ivalue, 0, item_name, icon ? icon : item[a].icon);
                        break;
                }
        }