diff --git a/src/proc/mobject/session.hpp b/src/proc/mobject/session.hpp index d49a7397b..987d2503b 100644 --- a/src/proc/mobject/session.hpp +++ b/src/proc/mobject/session.hpp @@ -97,6 +97,7 @@ namespace mobject { public: static session::SessManager& current; + static bool initFlag; ///////////////TICKET #518 yet another hack; actually need to care for session manager startup. session::DefsManager& defaults; ///////////////TODO this is a hack... better solve it based on the new SessionServices mechanism virtual bool isValid () = 0; diff --git a/src/proc/mobject/session/sess-manager-impl.cpp b/src/proc/mobject/session/sess-manager-impl.cpp index 879802c94..ffaedf750 100644 --- a/src/proc/mobject/session/sess-manager-impl.cpp +++ b/src/proc/mobject/session/sess-manager-impl.cpp @@ -88,7 +88,9 @@ namespace session { */ SessManagerImpl::SessManagerImpl () throw() : pImpl_ (0) - { } + { + Session::initFlag = true; //////////////////////////////////////// TICKET #518 instead of this hack, implement basic-init of the session manager for real + } diff --git a/src/proc/mobject/session/session-services.cpp b/src/proc/mobject/session/session-services.cpp index c5ad42a32..ba6fc861c 100644 --- a/src/proc/mobject/session/session-services.cpp +++ b/src/proc/mobject/session/session-services.cpp @@ -44,7 +44,8 @@ namespace session { bool SessionServiceFetch::isAccessible () { - return Session::current.isUp(); + return Session::initFlag + && Session::current.isUp(); } /** verify the given placement-ID (hash) is valid, diff --git a/src/proc/mobject/session/session.cpp b/src/proc/mobject/session/session.cpp index f5513574a..3c344a2e7 100644 --- a/src/proc/mobject/session/session.cpp +++ b/src/proc/mobject/session/session.cpp @@ -48,6 +48,13 @@ using mobject::session::SessionImplAPI; namespace mobject { + + /** temporary fix for init problems + * @todo really solve the basic init of session manager TICKET #518 + */ + bool Session::initFlag = false; + + /** the sole access point for all client code to the system-wide * "current session". Implemented as smart pointer to singleton * implementation object, where the smart pointer is actually