diff --git a/source/blender/src/buttons_shading.c b/source/blender/src/buttons_shading.c index 77b9e78f335..3b0ad44a9a5 100644 --- a/source/blender/src/buttons_shading.c +++ b/source/blender/src/buttons_shading.c @@ -2569,6 +2569,7 @@ void do_matbuts(unsigned short event) BIF_preview_changed(ID_MA); allqueue(REDRAWNODE, 0); allqueue(REDRAWBUTSSHADING, 0); + allqueue(REDRAWIPO, 0); } break; } diff --git a/source/blender/src/editipo.c b/source/blender/src/editipo.c index 8409035901d..967150df56e 100644 --- a/source/blender/src/editipo.c +++ b/source/blender/src/editipo.c @@ -108,6 +108,7 @@ #include "BSE_edit.h" #include "BSE_drawview.h" #include "BSE_headerbuttons.h" +#include "BSE_node.h" #include "blendef.h" #include "mydevice.h" @@ -1032,6 +1033,7 @@ static void get_ipo_context(short blocktype, ID **from, Ipo **ipo, char *actname else if(blocktype==ID_MA) { if(ob) { Material *ma= give_current_material(ob, ob->actcol); + ma= editnode_get_active_material(ma); *from= (ID *)ma; if(ma) *ipo= ma->ipo; } @@ -2196,8 +2198,10 @@ void common_insertkey(void) int tab= G.buts->tab[CONTEXT_SHADING]; if(tab==TAB_SHADING_MAT) { - id= G.buts->lockpoin; - ma= G.buts->lockpoin; + ma = G.buts->lockpoin; + ma = editnode_get_active_material(ma); + id = (ID *)ma; + if(id) { event= pupmenu("Insert Key %t|RGB%x0|Alpha%x1|Halo Size%x2|Mode %x3|All Color%x10|All Mirror%x14|Ofs%x12|Size%x13|All Mapping%x11"); if(event== -1) return; diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c index ae0dc9f3555..826df9cde6c 100644 --- a/source/blender/src/editnode.c +++ b/source/blender/src/editnode.c @@ -420,6 +420,7 @@ static void node_set_active(SpaceNode *snode, bNode *node) BIF_preview_changed(-1); /* temp hack to force texture preview to update */ allqueue(REDRAWBUTSSHADING, 1); + allqueue(REDRAWIPO, 0); } else if(snode->treetype==NTREE_COMPOSIT) { /* make active viewer, currently only 1 supported... */ diff --git a/source/blender/src/header_node.c b/source/blender/src/header_node.c index 742dc99d636..11cfef36761 100644 --- a/source/blender/src/header_node.c +++ b/source/blender/src/header_node.c @@ -80,6 +80,7 @@ void do_node_buttons(ScrArea *sa, unsigned short event) BIF_preview_changed(ID_MA); allqueue(REDRAWNODE, 0); allqueue(REDRAWBUTSSHADING, 0); + allqueue(REDRAWIPO, 0); } break;