static bool
do_presets_commit (const SGPropertyNode * arg)
{
- fgReInitSubsystems();
+ if (fgGetBool("/sim/initialized", false)) {
+ fgReInitSubsystems();
+ } else {
+ // Nasal can trigger this during initial init, which confuses
+ // the logic in ReInitSubsystems, since initial state has not been
+ // saved at that time. Short-circuit everything here.
+ fgInitPosition();
+ }
+
return true;
}
// End of subsystem initialization.
////////////////////////////////////////////////////////////////////
+ fgSetBool("/sim/initialized", true);
+
SG_LOG( SG_GENERAL, SG_INFO, endl);
// Save the initial state for future