Bugfix 4424
When using the button in a RenderLayer node to render a single node, the new 'render to fullscreen' crashed in end. Reason; the node editor was still handling events after a render, as if the node editor was still open.
This commit is contained in:
@@ -830,6 +830,7 @@ static int node_composit_buts_renderlayers(uiBlock *block, bNodeTree *ntree, bNo
|
||||
MEM_freeN(strp);
|
||||
|
||||
/* re-render */
|
||||
/* uses custom2, not the best implementation of the world... but we need it to work now :) */
|
||||
bt= uiDefIconButS(block, TOG, B_NODE_EXEC+node->nr, ICON_SCENE,
|
||||
butr->xmax-20, butr->ymin, 20, 19,
|
||||
&node->custom2, 0, 0, 0, 0, "Re-render this Layer");
|
||||
|
||||
@@ -284,15 +284,20 @@ static void composit_node_event(SpaceNode *snode, short event)
|
||||
bNode *node= BLI_findlink(&snode->edittree->nodes, event-B_NODE_EXEC);
|
||||
if(node) {
|
||||
NodeTagChanged(snode->edittree, node);
|
||||
|
||||
/* not the best implementation of the world... but we need it to work now :) */
|
||||
if(node->type==CMP_NODE_R_LAYERS && node->custom2)
|
||||
if(node->type==CMP_NODE_R_LAYERS && node->custom2) {
|
||||
composite_node_render(snode, node);
|
||||
/* new event, a render can go fullscreen and open new window */
|
||||
addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
|
||||
}
|
||||
else {
|
||||
node= snode_get_editgroup(snode);
|
||||
if(node)
|
||||
NodeTagIDChanged(snode->nodetree, node->id);
|
||||
|
||||
snode_handle_recalc(snode);
|
||||
}
|
||||
snode_handle_recalc(snode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ void do_node_addmenu(void *arg, int event)
|
||||
areamouseco_to_ipoco(G.v2d, mval, &locx, &locy);
|
||||
node_add_node(snode, event, locx, locy);
|
||||
|
||||
addqueue(curarea->win, B_NODE_TREE_EXEC, 1);
|
||||
addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
|
||||
|
||||
BIF_undo_push("Add Node");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user