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:
@@ -12,9 +12,12 @@
|
|||||||
|
|
||||||
class BServer : public BApplication {
|
class BServer : public BApplication {
|
||||||
public:
|
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
-3
@@ -9,14 +9,21 @@
|
|||||||
#include <Server.h>
|
#include <Server.h>
|
||||||
|
|
||||||
// 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