diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C index 6b34384df0..0954a23a7e 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C @@ -241,10 +241,13 @@ Foam::IOdictionary::IOdictionary(const IOobject& io, const dictionary& dict) Foam::IOdictionary::IOdictionary(const IOobject& io, Istream& is) : - regIOobject(io), - dictionary(is) + regIOobject(io) { dictionary::name() = IOobject::objectPath(); + // Note that we do construct the dictionary null and read in afterwards + // so that if there is some fancy massaging due to a functionEntry in + // the dictionary at least the type information is already complete. + is >> *this; } diff --git a/src/OpenFOAM/db/dictionary/dictionary.H b/src/OpenFOAM/db/dictionary/dictionary.H index e113535624..f1196852bf 100644 --- a/src/OpenFOAM/db/dictionary/dictionary.H +++ b/src/OpenFOAM/db/dictionary/dictionary.H @@ -239,7 +239,7 @@ public: //- Destructor - ~dictionary(); + virtual ~dictionary(); // Member functions