working on the termination of the last hardcoded dialogs in Autopilot/auto_gui.cxx:
- move fg_init/parseWaypoints() to route_mgr/postinit() - don't delete initial string list to keep it available for subsystem reinit
This commit is contained in:
parent
4b856b508a
commit
3b4e532372
3 changed files with 13 additions and 28 deletions
|
@ -30,6 +30,7 @@
|
|||
#include <FDM/flight.hxx>
|
||||
#include <Main/fg_props.hxx>
|
||||
|
||||
#include "auto_gui.hxx" // FIXME temporary dependency (NewWaypoint)
|
||||
#include "route_mgr.hxx"
|
||||
|
||||
|
||||
|
@ -80,6 +81,17 @@ void FGRouteMgr::init() {
|
|||
}
|
||||
|
||||
|
||||
void FGRouteMgr::postinit() {
|
||||
string_list *waypoints = globals->get_initial_waypoints();
|
||||
if (!waypoints)
|
||||
return;
|
||||
|
||||
vector<string>::iterator it;
|
||||
for (it = waypoints->begin(); it != waypoints->end(); ++it)
|
||||
NewWaypoint(*it);
|
||||
}
|
||||
|
||||
|
||||
void FGRouteMgr::bind() { }
|
||||
void FGRouteMgr::unbind() { }
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@ public:
|
|||
~FGRouteMgr();
|
||||
|
||||
void init ();
|
||||
void postinit ();
|
||||
void bind ();
|
||||
void unbind ();
|
||||
void update (double dt);
|
||||
|
|
|
@ -1022,29 +1022,6 @@ static bool fgSetPosFromFix( const string& id ) {
|
|||
}
|
||||
}
|
||||
|
||||
static void parseWaypoints() {
|
||||
string_list *waypoints = globals->get_initial_waypoints();
|
||||
if (waypoints) {
|
||||
vector<string>::iterator i;
|
||||
for (i = waypoints->begin();
|
||||
i != waypoints->end();
|
||||
i++)
|
||||
{
|
||||
NewWaypoint(*i);
|
||||
}
|
||||
// Now were done using the way points we can deallocate the
|
||||
// memory they used
|
||||
while (waypoints->begin() != waypoints->end()) {
|
||||
waypoints->pop_back();
|
||||
}
|
||||
delete waypoints;
|
||||
globals->set_initial_waypoints(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Initialize vor/ndb/ils/fix list management and query systems (as
|
||||
|
@ -1817,11 +1794,6 @@ bool fgInitSubsystems() {
|
|||
globals->add_subsystem("nasal", nasal);
|
||||
nasal->init();
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// At this point we could try and parse the waypoint options
|
||||
///////////////////////////////////////////////////////////////////
|
||||
parseWaypoints();
|
||||
|
||||
// initialize methods that depend on other subsystems.
|
||||
globals->get_subsystem_mgr()->postinit();
|
||||
|
||||
|
|
Loading…
Reference in a new issue