diff options
-rw-r--r-- | source/blender/editors/interface/interface_templates.c | 23 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 2 |
2 files changed, 24 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 46ecda5fba5..d9541e33040 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -38,6 +38,7 @@ #include "BKE_global.h" #include "BKE_library.h" #include "BKE_main.h" +#include "BKE_material.h" #include "BKE_texture.h" #include "BKE_report.h" @@ -2000,6 +2001,28 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe uiBlockSetEmboss(block, UI_EMBOSS); uiDefButR(block, OPTION, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, itemptr, "use", 0, 0, 0, 0, 0, NULL); } + else if(RNA_struct_is_a(itemptr->type, &RNA_MaterialSlot)) { + /* provision to draw active node name */ + Material *ma, *manode; + Object *ob= (Object*)ptr->id.data; + int index= (Material**)ptr->data - ob->mat; + + /* default item with material base name */ + uiItemL(sub, name, icon); + + ma= give_current_material(ob, index+1); + if(ma) { + manode= give_node_material(ma); + if(manode) { + char str[MAX_ID_NAME + 12]; + sprintf(str, "Node %s", manode->id.name+2); + uiItemL(sub, str, ui_id_icon_get(C, &manode->id, 1)); + } + else if(ma->use_nodes) { + uiItemL(sub, "Node <none>", 0); + } + } + } else if(itemptr->type == &RNA_ShapeKey) { ob= (Object*)activeptr->data; diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 599e9ece704..f6fb213358c 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -869,7 +869,7 @@ int WM_operator_winactive(bContext *C) return 1; } -/* op->invoke */ +/* op->exec */ static void redo_cb(bContext *C, void *arg_op, int UNUSED(event)) { wmOperator *lastop= arg_op; |