]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/globals.cxx
Environment manager: use aircraft_pos helper
[flightgear.git] / src / Main / globals.cxx
index a6381569ba53a8dac4351deef707c01767b2bd6c..c53656d17abe7459d13d4f4eb06d62ed26efdc20 100644 (file)
@@ -39,6 +39,7 @@
 #include <simgear/misc/ResourceManager.hxx>
 #include <simgear/props/propertyObject.hxx>
 #include <simgear/props/props_io.hxx>
+#include <simgear/scene/model/modellib.hxx>
 
 #include <Aircraft/controls.hxx>
 #include <Airports/runways.hxx>
@@ -185,13 +186,17 @@ FGGlobals::~FGGlobals()
     // deallocation of AIModel objects. To ensure we can safely
     // shut down all subsystems, make sure we take down the 
     // AIModels system first.
-    SGSubsystem* ai = subsystem_mgr->remove("ai-model");
+    SGSubsystem* ai = globals->get_subsystem("ai-model");
     if (ai) {
         ai->unbind();
-        delete ai;
+        subsystem_mgr->remove("ai-model");
     }
-    SGSubsystem* sound = subsystem_mgr->remove("sound");
-
+    
+    subsystem_mgr->remove("fx");
+    subsystem_mgr->remove("sound");
+    subsystem_mgr->remove("tile-manager");
+    subsystem_mgr->remove("model-manager");
+    
     subsystem_mgr->shutdown();
     subsystem_mgr->unbind();
     delete subsystem_mgr;
@@ -211,10 +216,14 @@ FGGlobals::~FGGlobals()
     delete fontcache;
 
     delete channellist;
-    delete sound;
 
+    simgear::PropertyObjectBase::setDefaultRoot(NULL);
+    simgear::SGModelLib::resetPropertyRoot();
+    
     delete locale;
     locale = NULL;
+    
+    delete props;
 }
 
 // set the fg_root path