diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C index 55cf75fb0f..cbd841f8ae 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.C @@ -50,7 +50,8 @@ Foam::objectRegistry::objectRegistry IOobject::NO_READ, IOobject::AUTO_WRITE, false - ) + ), + true // to flag that this is the top-level regIOobject ), HashTable(nIoObjects), time_(t), diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.C b/src/OpenFOAM/db/regIOobject/regIOobject.C index abfa55ce8f..a5a5e8e1e3 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobject.C +++ b/src/OpenFOAM/db/regIOobject/regIOobject.C @@ -41,13 +41,18 @@ int Foam::regIOobject::fileModificationSkew // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // Construct from IOobject -Foam::regIOobject::regIOobject(const IOobject& io) +Foam::regIOobject::regIOobject(const IOobject& io, const bool isTime) : IOobject(io), registered_(false), ownedByRegistry_(false), lastModified_(0), - eventNo_(db().getEvent()), + eventNo_ // Do not get event for top level Time database + ( + isTime + ? 0 + : db().getEvent() + ), isPtr_(NULL) { // Register with objectRegistry if requested diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.H b/src/OpenFOAM/db/regIOobject/regIOobject.H index fa70701c71..d2c9a3dcbe 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobject.H +++ b/src/OpenFOAM/db/regIOobject/regIOobject.H @@ -99,8 +99,9 @@ public: // Constructors - //- Construct from IOobject - regIOobject(const IOobject&); + //- Construct from IOobject. Optional flag for if IOobject is the + // top level regIOobject. + regIOobject(const IOobject&, const bool isTime = false); //- Construct as copy regIOobject(const regIOobject&);