Fix: static initialisation problem (due to placeholder code) #518

This commit is contained in:
Fischlurch 2010-01-10 00:04:58 +01:00
parent 4e7d656b71
commit 81c920c0ed
4 changed files with 13 additions and 2 deletions

View file

@ -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;

View file

@ -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
}

View file

@ -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,

View file

@ -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