[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56809] trunk/blender/source/blender/ freestyle/intern: More fix for memory leaks in the Freestyle module.
Tamito Kajiyama
rd6t-kjym at asahi-net.or.jp
Wed May 15 03:30:04 CEST 2013
Revision: 56809
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56809
Author: kjym3
Date: 2013-05-15 01:30:03 +0000 (Wed, 15 May 2013)
Log Message:
-----------
More fix for memory leaks in the Freestyle module.
Modified Paths:
--------------
trunk/blender/source/blender/freestyle/intern/application/Controller.cpp
trunk/blender/source/blender/freestyle/intern/geometry/FitCurve.cpp
trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.cpp
trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.h
trunk/blender/source/blender/freestyle/intern/system/TimeStamp.cpp
trunk/blender/source/blender/freestyle/intern/system/TimeStamp.h
Modified: trunk/blender/source/blender/freestyle/intern/application/Controller.cpp
===================================================================
--- trunk/blender/source/blender/freestyle/intern/application/Controller.cpp 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/application/Controller.cpp 2013-05-15 01:30:03 UTC (rev 56809)
@@ -165,6 +165,11 @@
_inter = NULL;
}
+ if (_ProgressBar) {
+ delete _ProgressBar;
+ _ProgressBar = NULL;
+ }
+
//delete _current_dirs;
}
Modified: trunk/blender/source/blender/freestyle/intern/geometry/FitCurve.cpp
===================================================================
--- trunk/blender/source/blender/freestyle/intern/geometry/FitCurve.cpp 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/geometry/FitCurve.cpp 2013-05-15 01:30:03 UTC (rev 56809)
@@ -487,6 +487,8 @@
FitCurve(d, size, error);
+ delete[] d;
+
// copy results
for (vector<Vector2>::iterator v = _vertices.begin(), vend = _vertices.end(); v != vend; ++v) {
oCurve.push_back(Vec2d(v->x(), v->y())) ;
Modified: trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.cpp
===================================================================
--- trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.cpp 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.cpp 2013-05-15 01:30:03 UTC (rev 56809)
@@ -32,15 +32,12 @@
namespace Freestyle {
-static const unsigned NB_VALUE_NOISE = 512;
+real PseudoNoise::_values[];
-real *PseudoNoise::_values;
-
PseudoNoise::PseudoNoise() {}
void PseudoNoise::init(long seed)
{
- _values = new real[NB_VALUE_NOISE];
RandGen::srand48(seed);
for (unsigned int i = 0; i < NB_VALUE_NOISE; i++)
_values[i] = -1.0 + 2.0 * RandGen::drand48();
Modified: trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.h
===================================================================
--- trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.h 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/system/PseudoNoise.h 2013-05-15 01:30:03 UTC (rev 56809)
@@ -53,7 +53,8 @@
static void init(long seed);
protected:
- static real *_values;
+ static const unsigned NB_VALUE_NOISE = 512;
+ static real _values[NB_VALUE_NOISE];
#ifdef WITH_CXX_GUARDEDALLOC
public:
Modified: trunk/blender/source/blender/freestyle/intern/system/TimeStamp.cpp
===================================================================
--- trunk/blender/source/blender/freestyle/intern/system/TimeStamp.cpp 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/system/TimeStamp.cpp 2013-05-15 01:30:03 UTC (rev 56809)
@@ -30,6 +30,6 @@
namespace Freestyle {
LIB_SYSTEM_EXPORT
-TimeStamp *TimeStamp::_instance = 0;
+TimeStamp TimeStamp::_instance;
} /* namespace Freestyle */
Modified: trunk/blender/source/blender/freestyle/intern/system/TimeStamp.h
===================================================================
--- trunk/blender/source/blender/freestyle/intern/system/TimeStamp.h 2013-05-14 22:52:10 UTC (rev 56808)
+++ trunk/blender/source/blender/freestyle/intern/system/TimeStamp.h 2013-05-15 01:30:03 UTC (rev 56809)
@@ -41,9 +41,7 @@
public:
static inline TimeStamp *instance()
{
- if (_instance == NULL)
- _instance = new TimeStamp;
- return _instance;
+ return &_instance;
}
inline unsigned getTimeStamp() const
@@ -70,7 +68,7 @@
TimeStamp(const TimeStamp&) {}
private:
- static TimeStamp *_instance;
+ static TimeStamp _instance;
unsigned _time_stamp;
#ifdef WITH_CXX_GUARDEDALLOC
More information about the Bf-blender-cvs
mailing list