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);
|
||||
|
||||
status_t InitGUIContext();
|
||||
|
||||
private:
|
||||
bool fGUIContextInitialized;
|
||||
};
|
||||
|
||||
#endif // _SERVER_H
|
||||
|
||||
@@ -10,13 +10,20 @@
|
||||
|
||||
// constructor
|
||||
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
|
||||
status_t
|
||||
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