Skip to content
Snippets Groups Projects
Commit 2ded45bb authored by henry's avatar henry
Browse files

Correct destructor for objects owned by registry.

parent 110b65ad
Branches
Tags
No related merge requests found
......@@ -82,15 +82,21 @@ Foam::objectRegistry::objectRegistry
Foam::objectRegistry::~objectRegistry()
{
List<regIOobject*> myObjects(size());
label nMyObjects = 0;
for (iterator iter = begin(); iter != end(); ++iter)
{
if (iter()->ownedByRegistry())
{
regIOobject* object = iter();
erase(iter);
delete object;
myObjects[nMyObjects++] = iter();
}
}
for (label i=0; i<nMyObjects; i++)
{
checkOut(*myObjects[i]);
}
}
......@@ -235,7 +241,7 @@ bool Foam::objectRegistry::checkOut(regIOobject& io) const
<< endl;
}
}
return false;
}
......
......@@ -32,7 +32,7 @@ inline bool Foam::regIOobject::ownedByRegistry() const
}
void Foam::regIOobject::store()
inline void Foam::regIOobject::store()
{
ownedByRegistry_ = true;
}
......@@ -74,18 +74,18 @@ inline Type& Foam::regIOobject::store(autoPtr<Type>& atPtr)
}
void Foam::regIOobject::release()
inline void Foam::regIOobject::release()
{
ownedByRegistry_ = false;
}
Foam::label Foam::regIOobject::eventNo() const
inline Foam::label Foam::regIOobject::eventNo() const
{
return eventNo_;
}
Foam::label& Foam::regIOobject::eventNo()
inline Foam::label& Foam::regIOobject::eventNo()
{
return eventNo_;
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment