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/nodes/composite')
-rw-r--r--source/blender/nodes/composite/node_composite_tree.c5
-rw-r--r--source/blender/nodes/composite/node_composite_util.c2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.c22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_movieclip.c1
4 files changed, 23 insertions, 7 deletions
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c
index 200e5341868..841dde3302b 100644
--- a/source/blender/nodes/composite/node_composite_tree.c
+++ b/source/blender/nodes/composite/node_composite_tree.c
@@ -162,8 +162,9 @@ static void localize(bNodeTree *localtree, bNodeTree *ntree)
}
}
-static void local_sync(bNodeTree *UNUSED(localtree), bNodeTree *UNUSED(ntree))
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
{
+ BKE_node_preview_sync_tree(ntree, localtree);
}
static void local_merge(bNodeTree *localtree, bNodeTree *ntree)
@@ -172,6 +173,8 @@ static void local_merge(bNodeTree *localtree, bNodeTree *ntree)
bNodeSocket *lsock;
/* move over the compbufs and previews */
+ BKE_node_preview_merge_tree(ntree, localtree, true);
+
for (lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
if (ntreeNodeExists(ntree, lnode->new_node)) {
if (ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
diff --git a/source/blender/nodes/composite/node_composite_util.c b/source/blender/nodes/composite/node_composite_util.c
index 6209ca6aa4f..02a5f410d83 100644
--- a/source/blender/nodes/composite/node_composite_util.c
+++ b/source/blender/nodes/composite/node_composite_util.c
@@ -41,7 +41,7 @@ void cmp_node_update_default(bNodeTree *UNUSED(ntree), bNode *node)
{
bNodeSocket *sock;
for (sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->cache) {
+ if (sock->cache) {
//free_compbuf(sock->cache);
//sock->cache= NULL;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c
index aa218252472..c09903ad6c5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_image.c
+++ b/source/blender/nodes/composite/nodes/node_composite_image.c
@@ -31,6 +31,9 @@
#include "node_composite_util.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
+
/* **************** IMAGE (and RenderResult, multilayer image) ******************** */
static bNodeSocketTemplate cmp_node_rlayers_out[] = {
@@ -333,11 +336,20 @@ void register_node_type_cmp_image(void)
static int node_composit_poll_rlayers(bNodeType *UNUSED(ntype), bNodeTree *ntree)
{
- PointerRNA ptr;
-
- /* render layers node can only be used in local scene->nodetree, since it directly links to the scene */
- RNA_id_pointer_create((ID *)ntree, &ptr);
- return (strcmp(ntree->idname, "CompositorNodeTree")==0 && RNA_boolean_get(&ptr, "is_local_tree"));
+ if (strcmp(ntree->idname, "CompositorNodeTree")==0) {
+ Scene *scene;
+
+ /* XXX ugly: check if ntree is a local scene node tree.
+ * Render layers node can only be used in local scene->nodetree,
+ * since it directly links to the scene.
+ */
+ for (scene = G.main->scene.first; scene; scene = scene->id.next)
+ if (scene->nodetree == ntree)
+ break;
+
+ return (scene != NULL);
+ }
+ return false;
}
void register_node_type_cmp_rlayers(void)
diff --git a/source/blender/nodes/composite/nodes/node_composite_movieclip.c b/source/blender/nodes/composite/nodes/node_composite_movieclip.c
index 34d7eeb570d..2369bf221e6 100644
--- a/source/blender/nodes/composite/nodes/node_composite_movieclip.c
+++ b/source/blender/nodes/composite/nodes/node_composite_movieclip.c
@@ -35,6 +35,7 @@
static bNodeSocketTemplate cmp_node_movieclip_out[] = {
{ SOCK_RGBA, 0, N_("Image")},
+ { SOCK_FLOAT, 0, N_("Alpha")},
{ SOCK_FLOAT, 1, N_("Offset X")},
{ SOCK_FLOAT, 1, N_("Offset Y")},
{ SOCK_FLOAT, 1, N_("Scale")},