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
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_node/space_node.c')
-rw-r--r--source/blender/editors/space_node/space_node.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index eb8c34fe8bd..dab6568bea6 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -172,13 +172,21 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
case ND_FRAME:
ED_area_tag_refresh(sa);
break;
+ case ND_TRANSFORM_DONE:
+ if(type==NTREE_COMPOSIT) {
+ if(snode->flag & SNODE_AUTO_RENDER) {
+ snode->recalc= 1;
+ ED_area_tag_refresh(sa);
+ }
+ }
+ break;
}
break;
case NC_WM:
if(wmn->data==ND_FILEREAD)
ED_area_tag_refresh(sa);
break;
-
+
/* future: add ID checks? */
case NC_MATERIAL:
if(type==NTREE_SHADER) {
@@ -212,7 +220,7 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
case NC_IMAGE:
if (wmn->action == NA_EDITED) {
- if(snode->treetype==NTREE_COMPOSIT) {
+ if(type==NTREE_COMPOSIT) {
Scene *scene= wmn->window->screen->scene;
/* note that NodeTagIDChanged is alredy called by BKE_image_signal() on all
@@ -241,8 +249,15 @@ static void node_area_refresh(const struct bContext *C, struct ScrArea *sa)
}
else if(snode->treetype==NTREE_COMPOSIT) {
Scene *scene= (Scene *)snode->id;
- if(scene->use_nodes)
- snode_composite_job(C, sa);
+ if(scene->use_nodes) {
+ /* recalc is set on 3d view changes for auto compo */
+ if(snode->recalc) {
+ snode->recalc= 0;
+ node_render_changed_exec((struct bContext*)C, NULL);
+ }
+ else
+ snode_composite_job(C, sa);
+ }
}
else if(snode->treetype==NTREE_TEXTURE) {
Tex *tex= (Tex *)snode->id;