diff --git a/src/common/singletonfactory.hpp b/src/common/singletonfactory.hpp index 0065227df..0f6a12755 100644 --- a/src/common/singletonfactory.hpp +++ b/src/common/singletonfactory.hpp @@ -35,7 +35,7 @@ This code is heavily inspired by #define LUMIERA_SINGLETONFACTORY_H -#include "common/singletonpolicies.hpp" ///< several Policies usable together with SingletonFactory +#include "common/singletonpolicies.hpp" // several Policies usable together with SingletonFactory #include "common/util.hpp" #include "proc/nobugcfg.hpp" diff --git a/src/proc/mobject/session/defsmanager.cpp b/src/proc/mobject/session/defsmanager.cpp index b60e38064..383b1f60f 100644 --- a/src/proc/mobject/session/defsmanager.cpp +++ b/src/proc/mobject/session/defsmanager.cpp @@ -51,6 +51,13 @@ namespace mobject } + + /** @internal causes boost::checked_delete from \c scoped_ptr + * to be placed here, where the declaration of DefsRegistry is available.*/ + DefsManager::~DefsManager() {} + + + template P DefsManager::search (const Query& capabilities) diff --git a/src/proc/mobject/session/defsmanager.hpp b/src/proc/mobject/session/defsmanager.hpp index eb2ca1502..12bc039f8 100644 --- a/src/proc/mobject/session/defsmanager.hpp +++ b/src/proc/mobject/session/defsmanager.hpp @@ -33,14 +33,15 @@ -namespace mobject - { - namespace session - { +namespace mobject { + namespace session { + + using lumiera::P; using boost::scoped_ptr; class DefsRegistry; + class SessManagerImpl; /** @@ -63,6 +64,8 @@ namespace mobject friend class SessManagerImpl; public: + ~DefsManager (); + /** common access point: retrieve the default object fulfilling * some given conditions. May silently trigger object creation. * @throw error::Config in case no solution is possible, which diff --git a/src/proc/mobject/session/session.cpp b/src/proc/mobject/session/session.cpp index 5c4bb8592..d8d20ed4c 100644 --- a/src/proc/mobject/session/session.cpp +++ b/src/proc/mobject/session/session.cpp @@ -32,9 +32,8 @@ #include "proc/mobject/session.hpp" -#include "proc/mobject/session/sessionimpl.hpp" #include "proc/mobject/session/defsmanager.hpp" -#include "proc/mobject/session/defsregistry.hpp" +#include "proc/mobject/session/sessionimpl.hpp" #include "common/singleton.hpp" diff --git a/src/proc/mobject/session/sessionimpl.hpp b/src/proc/mobject/session/sessionimpl.hpp index 89e3c020a..a56fdb217 100644 --- a/src/proc/mobject/session/sessionimpl.hpp +++ b/src/proc/mobject/session/sessionimpl.hpp @@ -94,6 +94,8 @@ namespace mobject friend class lumiera::singleton::StaticCreate; public: + virtual ~SessManagerImpl() {} + virtual void clear () ; virtual void reset () ; virtual void load () ; diff --git a/src/proc/mobject/session/sessmanagerimpl.cpp b/src/proc/mobject/session/sessmanagerimpl.cpp index 8195e4fbe..7ac96bee4 100644 --- a/src/proc/mobject/session/sessmanagerimpl.cpp +++ b/src/proc/mobject/session/sessmanagerimpl.cpp @@ -39,7 +39,7 @@ #include "proc/mobject/session.hpp" #include "proc/mobject/session/sessionimpl.hpp" #include "proc/mobject/session/defsmanager.hpp" -#include "proc/mobject/session/defsregistry.hpp" +//#include "proc/mobject/session/defsregistry.hpp" #include "common/error.hpp" using boost::scoped_ptr;