BServer now remembers whether the GUI context has already been initialized, so that InitGUIContext() can be invoked twice without harm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13415 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -15,6 +15,9 @@ public:
|
|||||||
BServer(const char* signature, bool initGUI, status_t *error);
|
BServer(const char* signature, bool initGUI, status_t *error);
|
||||||
|
|
||||||
status_t InitGUIContext();
|
status_t InitGUIContext();
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool fGUIContextInitialized;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _SERVER_H
|
#endif // _SERVER_H
|
||||||
|
|||||||
@@ -10,13 +10,20 @@
|
|||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
BServer::BServer(const char* signature, bool initGUI, status_t *error)
|
BServer::BServer(const char* signature, bool initGUI, status_t *error)
|
||||||
: BApplication(signature, initGUI, error)
|
: BApplication(signature, initGUI, error),
|
||||||
|
fGUIContextInitialized(false)
|
||||||
{
|
{
|
||||||
|
fGUIContextInitialized = (initGUI && (!error || *error == B_OK));
|
||||||
}
|
}
|
||||||
|
|
||||||
// InitGUIContext
|
// InitGUIContext
|
||||||
status_t
|
status_t
|
||||||
BServer::InitGUIContext()
|
BServer::InitGUIContext()
|
||||||
{
|
{
|
||||||
return _InitGUIContext();
|
if (fGUIContextInitialized)
|
||||||
|
return B_OK;
|
||||||
|
|
||||||
|
status_t error = _InitGUIContext();
|
||||||
|
fGUIContextInitialized = (error == B_OK);
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user