[cig-commits] commit:

Mercurial hg at geodynamics.org
Mon Nov 24 11:59:34 PST 2008


changeset:   155:c265bc5bd7a8
user:        JohnMansour
date:        Tue Sep 02 10:44:55 2008 +0000
files:       Swarm/src/SwarmClass.c Swarm/src/SwarmVariable.c
description:
this should take care of a couple of naughty memory leaks.


diff -r 678cfc3c4985 -r c265bc5bd7a8 Swarm/src/SwarmClass.c
--- a/Swarm/src/SwarmClass.c	Sun Aug 31 13:37:30 2008 +0000
+++ b/Swarm/src/SwarmClass.c	Tue Sep 02 10:44:55 2008 +0000
@@ -165,7 +165,8 @@ Swarm* _Swarm_New(
 	self->commHandlerList = Stg_ObjectList_New();
 	self->nSwarmVars = 0;
 	self->swarmVars = NULL;
-	
+	self->owningCellVariable = NULL;
+
 	/* Swarm info */
 	if( initFlag )
 		_Swarm_Init( 
@@ -322,7 +323,8 @@ void _Swarm_Delete( void* swarm ) {
 	if ( self->particles ) {
 		ExtensionManager_Free( self->particleExtensionMgr, self->particles );
 	}
-
+	if(self->owningCellVariable)
+		_SwarmVariable_Delete(self->owningCellVariable);
 	/* Delete SwarmVariable_Register if it has been created */
 	if ( self->swarmVariable_Register ) {
 		Stg_Class_Delete( self->swarmVariable_Register );
diff -r 678cfc3c4985 -r c265bc5bd7a8 Swarm/src/SwarmVariable.c
--- a/Swarm/src/SwarmVariable.c	Sun Aug 31 13:37:30 2008 +0000
+++ b/Swarm/src/SwarmVariable.c	Tue Sep 02 10:44:55 2008 +0000
@@ -130,6 +130,7 @@ void SwarmVariable_InitAll( void* swarmV
 
 void _SwarmVariable_Delete( void* swarmVariable ) {
 	SwarmVariable* self = (SwarmVariable*) swarmVariable;
+	_Variable_Delete(self->variable);
 	_Stg_Component_Delete( self );
 }
 



More information about the CIG-COMMITS mailing list