1
0
Fork 0

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:
mfranz 2006-04-27 15:30:42 +00:00
parent 4b856b508a
commit 3b4e532372
3 changed files with 13 additions and 28 deletions

View file

@ -30,6 +30,7 @@
#include <FDM/flight.hxx> #include <FDM/flight.hxx>
#include <Main/fg_props.hxx> #include <Main/fg_props.hxx>
#include "auto_gui.hxx" // FIXME temporary dependency (NewWaypoint)
#include "route_mgr.hxx" #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::bind() { }
void FGRouteMgr::unbind() { } void FGRouteMgr::unbind() { }

View file

@ -84,6 +84,7 @@ public:
~FGRouteMgr(); ~FGRouteMgr();
void init (); void init ();
void postinit ();
void bind (); void bind ();
void unbind (); void unbind ();
void update (double dt); void update (double dt);

View file

@ -1021,29 +1021,6 @@ static bool fgSetPosFromFix( const string& id ) {
return false; return false;
} }
} }
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);
}
}
/** /**
@ -1817,11 +1794,6 @@ bool fgInitSubsystems() {
globals->add_subsystem("nasal", nasal); globals->add_subsystem("nasal", nasal);
nasal->init(); nasal->init();
////////////////////////////////////////////////////////////////////
// At this point we could try and parse the waypoint options
///////////////////////////////////////////////////////////////////
parseWaypoints();
// initialize methods that depend on other subsystems. // initialize methods that depend on other subsystems.
globals->get_subsystem_mgr()->postinit(); globals->get_subsystem_mgr()->postinit();