Revision: 50179
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50179
Author:   campbellbarton
Date:     2012-08-24 12:48:56 +0000 (Fri, 24 Aug 2012)
Log Message:
-----------
fix for bug in variable size blur compositor node - using incorrect Y blur 
operations and uninitialized memory was causing random blur results.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
    trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
    
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
    
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp

Modified: trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp      
2012-08-24 12:17:07 UTC (rev 50178)
+++ trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp      
2012-08-24 12:48:56 UTC (rev 50179)
@@ -74,14 +74,18 @@
                operationx->setbNode(editorNode);
                operationx->setQuality(quality);
                operationx->setSize(1.0f);
+               operationx->setFalloff(PROP_SMOOTH);
+               operationx->setSubtract(false);
                addLink(graph, clamp->getOutputSocket(), 
operationx->getInputSocket(0));
                graph->addOperation(operationx);
 
-               GaussianYBlurOperation *operationy = new 
GaussianYBlurOperation();
+               GaussianAlphaYBlurOperation *operationy = new 
GaussianAlphaYBlurOperation();
                operationy->setData(data);
                operationy->setbNode(editorNode);
                operationy->setQuality(quality);
                operationy->setSize(1.0f);
+               operationy->setFalloff(PROP_SMOOTH);
+               operationy->setSubtract(false);
                addLink(graph, operationx->getOutputSocket(), 
operationy->getInputSocket(0));
                graph->addOperation(operationy);
 

Modified: 
trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
===================================================================
--- 
trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp    
    2012-08-24 12:17:07 UTC (rev 50178)
+++ 
trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp    
    2012-08-24 12:48:56 UTC (rev 50179)
@@ -121,6 +121,11 @@
                                val = val * val;
                                break;
                        case PROP_LIN:
+#ifndef NDEBUG
+                       /* uninitialized! */
+                       case -1:
+                               BLI_assert(0);
+#endif
                        default:
                                /* nothing */
                                break;

Modified: 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
===================================================================
--- 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
      2012-08-24 12:17:07 UTC (rev 50178)
+++ 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
      2012-08-24 12:48:56 UTC (rev 50179)
@@ -33,6 +33,7 @@
 {
        this->m_gausstab = NULL;
        this->m_rad = 0;
+       this->m_falloff = -1;  /* intentionally invalid, so we can detect 
uninitialized values */
 }
 
 void *GaussianAlphaXBlurOperation::initializeTileData(rcti *rect)

Modified: 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
===================================================================
--- 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
      2012-08-24 12:17:07 UTC (rev 50178)
+++ 
trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
      2012-08-24 12:48:56 UTC (rev 50179)
@@ -33,6 +33,7 @@
 {
        this->m_gausstab = NULL;
        this->m_rad = 0;
+       this->m_falloff = -1;  /* intentionally invalid, so we can detect 
uninitialized values */
 }
 
 void *GaussianAlphaYBlurOperation::initializeTileData(rcti *rect)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to