diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 15ad3a7809a..320bead1c61 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -2318,8 +2318,15 @@ void ntreeBeginExecTree(bNodeTree *ntree) for(sock= node->inputs.first; sock; sock= sock->next) { ns = get_socket_stack(ntree->stack, sock, NULL); - if (ns) + if (ns) { ns->hasoutput = 1; + + /* sock type is needed to detect rgba or value or vector types */ + if(sock->link) + ns->sockettype= sock->link->fromsock->type; + else + sock->ns.sockettype= sock->type; + } if(sock->link) { bNodeLink *link= sock->link; diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index e8d2771e257..acc806555ce 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -4042,6 +4042,7 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg) uiStyle *style= U.uistyles.first; IDProperty *prop= (but->opptr)? but->opptr->data: NULL; + /* XXX this guess_opname can potentially return a different keymap than being found on adding later... */ km = WM_keymap_guess_opname(C, but->optype->idname); kmi = WM_keymap_add_item(km, but->optype->idname, AKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 95a5220d562..67a0773199f 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -1055,6 +1055,14 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs /* unassign the pointers, reset vars */ preview_prepare_scene(sp->scene, NULL, GS(id->name), sp); + + /* XXX bad exception, end-exec is not being called in render, because it uses local main */ + if(idtype == ID_TE) { + Tex *tex= (Tex *)id; + if(tex->use_nodes && tex->nodetree) + ntreeEndExecTree(tex->nodetree); + } + } /* runs inside thread for material and icons */