Revision: 48588
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48588
Author: jbakker
Date: 2012-07-04 12:30:17 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
relay the original node to a different place holder to resolve some
crashes.
Modified Paths:
--------------
trunk/blender/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp
trunk/blender/source/blender/compositor/operations/COM_WriteBufferOperation.cpp
trunk/blender/source/blender/makesdna/DNA_node_types.h
trunk/blender/source/blender/nodes/composite/node_composite_tree.c
Modified:
trunk/blender/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp
2012-07-04 12:19:50 UTC (rev 48587)
+++ trunk/blender/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp
2012-07-04 12:30:17 UTC (rev 48588)
@@ -35,6 +35,7 @@
{
NodeBilateralBlurData *data = (NodeBilateralBlurData
*)this->getbNode()->storage;
BilateralBlurOperation *operation = new BilateralBlurOperation();
+ operation->setbNode(this->getbNode());
operation->setQuality(context->getQuality());
operation->setData(data);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0,
graph);
Modified:
trunk/blender/source/blender/compositor/operations/COM_WriteBufferOperation.cpp
===================================================================
---
trunk/blender/source/blender/compositor/operations/COM_WriteBufferOperation.cpp
2012-07-04 12:19:50 UTC (rev 48587)
+++
trunk/blender/source/blender/compositor/operations/COM_WriteBufferOperation.cpp
2012-07-04 12:30:17 UTC (rev 48588)
@@ -64,7 +64,7 @@
float *buffer = memoryBuffer->getBuffer();
if (this->m_input->isComplex()) {
bNode* bnode = this->m_input->getbNode();
-// if (bnode&& bnode->new_node) bnode->new_node->highlight++;
+ if (bnode&& bnode->original) bnode->original->highlight++;
void *data = this->m_input->initializeTileData(rect,
memoryBuffers);
int x1 = rect->xmin;
@@ -90,7 +90,7 @@
this->m_input->deinitializeTileData(rect,
memoryBuffers, data);
data = NULL;
}
-// if (bnode&& bnode->new_node) bnode->new_node->highlight++;
+ if (bnode&& bnode->original) bnode->original->highlight++;
}
else {
int x1 = rect->xmin;
@@ -144,7 +144,7 @@
clMemToCleanUp->push_back(clOutputBuffer);
list<cl_kernel> *clKernelsToCleanUp = new list<cl_kernel>();
bNode* bnode = this->m_input->getbNode();
-// if (bnode&& bnode->new_node) bnode->new_node->highlight++;
+ if (bnode&& bnode->original) bnode->original->highlight++;
this->m_input->executeOpenCL(device, outputBuffer, clOutputBuffer,
inputMemoryBuffers, clMemToCleanUp, clKernelsToCleanUp);
@@ -163,7 +163,7 @@
this->getMemoryProxy()->getBuffer()->copyContentFrom(outputBuffer);
-// if (bnode&& bnode->new_node) bnode->new_node->highlight++;
+ if (bnode&& bnode->original) bnode->original->highlight++;
// STEP 4
Modified: trunk/blender/source/blender/makesdna/DNA_node_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_node_types.h 2012-07-04
12:19:50 UTC (rev 48587)
+++ trunk/blender/source/blender/makesdna/DNA_node_types.h 2012-07-04
12:30:17 UTC (rev 48588)
@@ -166,6 +166,7 @@
struct bNode *parent; /* parent node */
struct ID *id; /* optional link to libdata */
void *storage; /* custom data, must be struct, for
storage in file */
+ struct bNode *original; /* the original node in the tree (for localized
tree) */
float locx, locy; /* root offset for drawing */
float width, height; /* node custom width and height */
Modified: trunk/blender/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/node_composite_tree.c
2012-07-04 12:19:50 UTC (rev 48587)
+++ trunk/blender/source/blender/nodes/composite/node_composite_tree.c
2012-07-04 12:30:17 UTC (rev 48588)
@@ -132,6 +132,7 @@
for (node= ntree->nodes.first; node; node= node->next) {
/* ensure new user input gets handled ok */
node->need_exec= 0;
+ node->new_node->original = node;
/* move over the compbufs */
/* right after ntreeCopyTree() oldsock pointers are valid */
@@ -191,8 +192,6 @@
/* move over the compbufs and previews */
for (lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- lnode->new_node->new_node = lnode;
- lnode->highlight = 0;
if ( (lnode->exec & NODE_READY) && !(lnode->exec &
NODE_SKIPPED) ) {
if (ntreeNodeExists(ntree, lnode->new_node)) {
@@ -214,7 +213,6 @@
/* move over the compbufs and previews */
for (lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- lnode->highlight = 0;
if (ntreeNodeExists(ntree, lnode->new_node)) {
if (ELEM(lnode->type, CMP_NODE_VIEWER,
CMP_NODE_SPLITVIEWER)) {
if (lnode->id && (lnode->flag &
NODE_DO_OUTPUT)) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs