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:
2006-06-23 19:43:48 +00:00
parent a6aa6b9ff4
commit a1e77e2394
3 changed files with 9 additions and 3 deletions

View File

@@ -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");

View File

@@ -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);
}
}
}

View File

@@ -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");