push starting of the GUI thread down into the gui plugin
This commit is contained in:
parent
e8469d5552
commit
9cfa0e5522
2 changed files with 12 additions and 5 deletions
|
|
@ -27,7 +27,6 @@
|
||||||
#include "lib/error.hpp"
|
#include "lib/error.hpp"
|
||||||
#include "lib/singleton.hpp"
|
#include "lib/singleton.hpp"
|
||||||
#include "lib/functorutil.hpp"
|
#include "lib/functorutil.hpp"
|
||||||
#include "lib/thread-wrapper.hpp"
|
|
||||||
#include "common/instancehandle.hpp"
|
#include "common/instancehandle.hpp"
|
||||||
|
|
||||||
#include <boost/scoped_ptr.hpp>
|
#include <boost/scoped_ptr.hpp>
|
||||||
|
|
@ -46,7 +45,6 @@ namespace gui {
|
||||||
using util::dispatchSequenced;
|
using util::dispatchSequenced;
|
||||||
using lib::Sync;
|
using lib::Sync;
|
||||||
using lib::RecursiveLock_NoWait;
|
using lib::RecursiveLock_NoWait;
|
||||||
using lib::Thread;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -62,7 +60,7 @@ namespace gui {
|
||||||
: theGUI_("lumieraorg_Gui", 1, 1, "lumieraorg_GuiStarterPlugin") // load GuiStarterPlugin
|
: theGUI_("lumieraorg_Gui", 1, 1, "lumieraorg_GuiStarterPlugin") // load GuiStarterPlugin
|
||||||
{
|
{
|
||||||
ASSERT (theGUI_);
|
ASSERT (theGUI_);
|
||||||
Thread ("GUI-Main", bind (&GuiRunner::kickOff, this, terminationHandle));
|
this->kickOff (terminationHandle);
|
||||||
|
|
||||||
if (lumiera_error_peek())
|
if (lumiera_error_peek())
|
||||||
throw lumiera::error::Fatal("failed to bring up GUI",lumiera_error());
|
throw lumiera::error::Fatal("failed to bring up GUI",lumiera_error());
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@
|
||||||
#include "gui/guifacade.hpp"
|
#include "gui/guifacade.hpp"
|
||||||
#include "gui/notification-service.hpp"
|
#include "gui/notification-service.hpp"
|
||||||
#include "common/subsys.hpp"
|
#include "common/subsys.hpp"
|
||||||
|
#include "lib/thread-wrapper.hpp"
|
||||||
#include "lib/singleton.hpp"
|
#include "lib/singleton.hpp"
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
@ -60,11 +61,14 @@ extern "C" {
|
||||||
#include "common/interfacedescriptor.h"
|
#include "common/interfacedescriptor.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <tr1/functional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
using std::string;
|
using std::string;
|
||||||
|
using lib::Thread;
|
||||||
|
using std::tr1::bind;
|
||||||
using lumiera::Subsys;
|
using lumiera::Subsys;
|
||||||
using gui::LUMIERA_INTERFACE_INAME(lumieraorg_Gui, 1);
|
using gui::LUMIERA_INTERFACE_INAME(lumieraorg_Gui, 1);
|
||||||
|
|
||||||
|
|
@ -120,14 +124,19 @@ namespace gui {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
runGUI (Subsys::SigTerm& reportTermination)
|
||||||
|
{
|
||||||
|
GuiLifecycle(reportTermination).run();
|
||||||
|
}
|
||||||
|
|
||||||
} // (End) impl details
|
} // (End) impl details
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
kickOff (Subsys::SigTerm& reportTermination)
|
kickOff (Subsys::SigTerm& terminationHandle)
|
||||||
{
|
{
|
||||||
GuiLifecycle(reportTermination).run();
|
Thread ("GUI-Main", bind (&runGUI, terminationHandle));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace gui
|
} // namespace gui
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue