[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15532] branches/fluidcontrol/intern/ elbeem/intern: Fix for several memory leaks in fluidsim ( found with Valgrind).
Daniel Genrich
daniel.genrich at gmx.net
Fri Jul 11 20:08:26 CEST 2008
Revision: 15532
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15532
Author: genscher
Date: 2008-07-11 20:08:25 +0200 (Fri, 11 Jul 2008)
Log Message:
-----------
Fix for several memory leaks in fluidsim (found with Valgrind).
Modified Paths:
--------------
branches/fluidcontrol/intern/elbeem/intern/ntl_geometryclass.h
branches/fluidcontrol/intern/elbeem/intern/ntl_ray.h
branches/fluidcontrol/intern/elbeem/intern/simulation_object.cpp
branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp
branches/fluidcontrol/intern/elbeem/intern/solver_init.cpp
Modified: branches/fluidcontrol/intern/elbeem/intern/ntl_geometryclass.h
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/ntl_geometryclass.h 2008-07-11 17:08:45 UTC (rev 15531)
+++ branches/fluidcontrol/intern/elbeem/intern/ntl_geometryclass.h 2008-07-11 18:08:25 UTC (rev 15532)
@@ -37,6 +37,7 @@
//! Default destructor
virtual ~ntlGeometryClass() {
delete mpAttrs;
+ delete mpSwsAttrs;
};
//! Return type id
Modified: branches/fluidcontrol/intern/elbeem/intern/ntl_ray.h
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/ntl_ray.h 2008-07-11 17:08:45 UTC (rev 15531)
+++ branches/fluidcontrol/intern/elbeem/intern/ntl_ray.h 2008-07-11 18:08:25 UTC (rev 15532)
@@ -20,6 +20,7 @@
class ntlTree;
class ntlScene;
class ntlRenderGlobals;
+class ntlGeometryObject;
//! store data for an intersection of a ray and a triangle
// NOT YET USED
@@ -323,8 +324,8 @@
/* CONSTRUCTORS */
/*! Default constructor */
ntlScene( ntlRenderGlobals *glob, bool del=true );
- /*! Default destructor */
- ~ntlScene();
+ /*! Default destructor */
+ ~ntlScene();
/*! Add an object to the scene */
inline void addGeoClass(ntlGeometryClass *geo) {
Modified: branches/fluidcontrol/intern/elbeem/intern/simulation_object.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/simulation_object.cpp 2008-07-11 17:08:45 UTC (rev 15531)
+++ branches/fluidcontrol/intern/elbeem/intern/simulation_object.cpp 2008-07-11 18:08:25 UTC (rev 15532)
@@ -58,7 +58,8 @@
if(mpGiTree) delete mpGiTree;
if(mpElbeemSettings) delete mpElbeemSettings;
if(mpLbm) delete mpLbm;
- if(mpParam) delete mpParam;
+ if(mpParam) delete mpParam;
+ if(mpParts) delete mpParts;
debMsgStd("SimulationObject",DM_MSG,"El'Beem Done!\n",10);
}
Modified: branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp 2008-07-11 17:08:45 UTC (rev 15531)
+++ branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp 2008-07-11 18:08:25 UTC (rev 15532)
@@ -63,6 +63,9 @@
LbmControlData::~LbmControlData()
{
+ while (!mCons.empty()) {
+ delete mCons.back(); mCons.pop_back();
+ }
}
Modified: branches/fluidcontrol/intern/elbeem/intern/solver_init.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/solver_init.cpp 2008-07-11 17:08:45 UTC (rev 15531)
+++ branches/fluidcontrol/intern/elbeem/intern/solver_init.cpp 2008-07-11 18:08:25 UTC (rev 15532)
@@ -441,6 +441,10 @@
delete mpIso;
if(mpPreviewSurface) delete mpPreviewSurface;
// cleanup done during scene deletion...
+
+#if LBM_INCLUDE_CONTROL==1
+ if(mpControl) delete mpControl;
+#endif
// always output performance estimate
debMsgStd("LbmFsgrSolver::~LbmFsgrSolver",DM_MSG," Avg. MLSUPS:"<<(mAvgMLSUPS/mAvgMLSUPSCnt), 5);
More information about the Bf-blender-cvs
mailing list