]> git.mxchange.org Git - flightgear.git/commitdiff
Clean-up: move autosave.xml loading code to proper method
authorThorstenB <brehmt@gmail.com>
Fri, 30 Dec 2011 00:01:15 +0000 (01:01 +0100)
committerThorstenB <brehmt@gmail.com>
Tue, 17 Jan 2012 22:49:25 +0000 (23:49 +0100)
src/Main/fg_init.cxx
src/Main/globals.cxx
src/Main/globals.hxx

index 47ecbd4497de117ed2f817122316a1db00ddad62..adae9f205aa3543291f40d4f3b2d7cd7124b5958 100644 (file)
@@ -548,34 +548,16 @@ bool fgInitConfig ( int argc, char **argv )
         return false;
     }
 
-    SGPropertyNode autosave;
-
-
-    SGPath autosaveFile = simgear::Dir(dataPath).file("autosave.xml");
-    if (autosaveFile.exists()) {
-      SG_LOG(SG_INPUT, SG_INFO, "Reading user settings from " << autosaveFile.str());
-      try {
-          readProperties(autosaveFile.str(), &autosave, SGPropertyNode::USERARCHIVE);
-      } catch (sg_exception& e) {
-          SG_LOG(SG_INPUT, SG_WARN, "failed to read user settings:" << e.getMessage()
-            << "(from " << e.getOrigin() << ")");
-      }
-    }
+    globals->loadUserSettings(dataPath);
 
     // Scan user config files and command line for a specified aircraft.
     flightgear::Options::sharedInstance()->initAircraft();
 
-    FindAndCacheAircraft f(&autosave);
+    FindAndCacheAircraft f(globals->get_props());
     if (!f.loadAircraft()) {
       return false;
     }
 
-    copyProperties(&autosave, globals->get_props());
-
-    // TODO Move some of the code above into loadUserSettings after the 2.6 release
-    // call dummy function, for now just to indicate that data was loaded
-    globals->loadUserSettings();
-
     // parse options after loading aircraft to ensure any user
     // overrides of defaults are honored.
     flightgear::Options::sharedInstance()->processOptions();
index f69a7f256d2de5ced1d199ae031f15f3998bff07..bbe5dc9fdcfb7e253a947438c3c2ba37626cc9a0 100644 (file)
@@ -444,11 +444,23 @@ FGGlobals::restoreInitialState ()
 
 // Load user settings from autosave.xml
 void
-FGGlobals::loadUserSettings()
+FGGlobals::loadUserSettings(const SGPath& dataPath)
 {
-    // dummy method for now.
-    //TODO Move code loading autosave.xml in here after the 2.6.0 release.
+    // remember that we have (tried) to load any existing autsave.xml
     haveUserSettings = true;
+
+    SGPath autosaveFile = simgear::Dir(dataPath).file("autosave.xml");
+    SGPropertyNode autosave;
+    if (autosaveFile.exists()) {
+      SG_LOG(SG_INPUT, SG_INFO, "Reading user settings from " << autosaveFile.str());
+      try {
+          readProperties(autosaveFile.str(), &autosave, SGPropertyNode::USERARCHIVE);
+      } catch (sg_exception& e) {
+          SG_LOG(SG_INPUT, SG_WARN, "failed to read user settings:" << e.getMessage()
+            << "(from " << e.getOrigin() << ")");
+      }
+    }
+    copyProperties(&autosave, globals->get_props());
 }
 
 // Save user settings in autosave.xml
index fd81b0b50e59eca3dcd876df89124e2c7a5cfcef..297d9c576cb27609a14042d72a32b0c4c9a72f35 100644 (file)
@@ -330,7 +330,7 @@ public:
     /**
      * Load user settings from autosave.xml
      */
-    void loadUserSettings();
+    void loadUserSettings(const SGPath& datapath);
 
     /**
      * Save user settings in autosave.xml