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

Reply via email to