[Bf-blender-cvs] [9cfc203] master: Compositor: fix memory leak in filter node operation.

Kévin Dietrich noreply at git.blender.org
Mon Feb 22 10:59:31 CET 2016


Commit: 9cfc203749c3a2534d0b71fccf645eb4406ef228
Author: Kévin Dietrich
Date:   Mon Feb 22 10:58:49 2016 +0100
Branches: master
https://developer.blender.org/rB9cfc203749c3a2534d0b71fccf645eb4406ef228

Compositor: fix memory leak in filter node operation.

Avoid allocating the (tiny) array on the heap in the first place.

Reviewers: sergey, lukastoenne

Differential Revision: https://developer.blender.org/D1815

===================================================================

M	source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp
M	source/blender/compositor/operations/COM_ConvolutionFilterOperation.h

===================================================================

diff --git a/source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp b/source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp
index 699db11..68ec2be 100644
--- a/source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp
+++ b/source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp
@@ -33,7 +33,6 @@ ConvolutionFilterOperation::ConvolutionFilterOperation() : NodeOperation()
 	this->addOutputSocket(COM_DT_COLOR);
 	this->setResolutionInputSocketIndex(0);
 	this->m_inputOperation = NULL;
-	this->m_filter = NULL;
 	this->setComplex(true);
 }
 void ConvolutionFilterOperation::initExecution()
@@ -44,7 +43,6 @@ void ConvolutionFilterOperation::initExecution()
 
 void ConvolutionFilterOperation::set3x3Filter(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9)
 {
-	this->m_filter = (float *)MEM_mallocN(sizeof(float) * 9, __func__);
 	this->m_filter[0] = f1;
 	this->m_filter[1] = f2;
 	this->m_filter[2] = f3;
@@ -62,10 +60,6 @@ void ConvolutionFilterOperation::deinitExecution()
 {
 	this->m_inputOperation = NULL;
 	this->m_inputValueOperation = NULL;
-	if (this->m_filter) {
-		MEM_freeN(this->m_filter);
-		this->m_filter = NULL;
-	}
 }
 
 
diff --git a/source/blender/compositor/operations/COM_ConvolutionFilterOperation.h b/source/blender/compositor/operations/COM_ConvolutionFilterOperation.h
index 4c19248..faab657 100644
--- a/source/blender/compositor/operations/COM_ConvolutionFilterOperation.h
+++ b/source/blender/compositor/operations/COM_ConvolutionFilterOperation.h
@@ -33,7 +33,7 @@ private:
 protected:
 	SocketReader *m_inputOperation;
 	SocketReader *m_inputValueOperation;
-	float *m_filter;
+	float m_filter[9];
 
 public:
 	ConvolutionFilterOperation();




More information about the Bf-blender-cvs mailing list