Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-03-09 00:12:48 +0300
committerTon Roosendaal <ton@blender.org>2006-03-09 00:12:48 +0300
commit973b442075f42837f2ec82e48f115ae2f6d12223 (patch)
treeb543f3e0e250ed7c7c591c8cf99017ff06610896 /source
parent0bc3e9639b125c83fcfbe251779ee4571758f15a (diff)
Compositing goodie: ESC now works to stop, but it will finish the node it
was working on.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/node.c10
-rw-r--r--source/blender/makesdna/DNA_node_types.h2
-rw-r--r--source/blender/src/editnode.c5
3 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 3e62cea99f0..0bf12e33c47 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -1878,7 +1878,7 @@ static int setExecutableNodes(bNodeTree *ntree, ThreadData *thd)
}
}
totnode++;
- printf("node needs exec %s\n", node->name);
+// printf("node needs exec %s\n", node->name);
/* tag for getExecutableNode() */
node->exec= 0;
@@ -1970,8 +1970,14 @@ void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
else
PIL_sleep_ms(50);
- /* check for ready ones, and if we need to continue */
rendering= 0;
+ /* test for ESC */
+ if(ntree->test_break && ntree->test_break()) {
+ for(node= ntree->nodes.first; node; node= node->next)
+ node->exec |= NODE_READY;
+ }
+
+ /* check for ready ones, and if we need to continue */
for(node= ntree->nodes.first; node; node= node->next) {
if(node->exec & NODE_READY) {
if((node->exec & NODE_FINISHED)==0) {
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index a3b234e4199..6192c32da1f 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -167,7 +167,7 @@ typedef struct bNodeTree {
/* callbacks */
void (*timecursor)(int nr);
void (*stats_draw)(char *str);
-
+ int (*test_break)(void);
} bNodeTree;
/* ntree->type, index */
diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c
index 2b42faec607..6f3a3a4fb15 100644
--- a/source/blender/src/editnode.c
+++ b/source/blender/src/editnode.c
@@ -147,10 +147,13 @@ static void snode_handle_recalc(SpaceNode *snode)
else if(snode->treetype==NTREE_COMPOSIT) {
if(G.scene->use_nodes) {
snode->nodetree->timecursor= set_timecursor;
-
+ G.afbreek= 0;
+ snode->nodetree->test_break= blender_test_break;
+
ntreeCompositExecTree(snode->nodetree, &G.scene->r, 1); /* 1 is do_previews */
snode->nodetree->timecursor= NULL;
+ snode->nodetree->test_break= NULL;
waitcursor(0);
allqueue(REDRAWNODE, 1);