]> git.mxchange.org Git - flightgear.git/commitdiff
Reset: changes for SGSubsystem ownership.
authorJames Turner <zakalawe@mac.com>
Tue, 12 Nov 2013 23:36:18 +0000 (23:36 +0000)
committerJames Turner <zakalawe@mac.com>
Tue, 12 Nov 2013 23:36:18 +0000 (23:36 +0000)
Keep in sync with updated ownership model in subsystem groups.

src/Environment/environment_mgr.cxx
src/Main/globals.cxx

index 9aca5b0b5a86c7e6e20a7456a3ccf18aed6e4d1b..9a46f15d12a70a857a8b78007f62365fc6bfa782 100644 (file)
@@ -100,31 +100,12 @@ FGEnvironmentMgr::FGEnvironmentMgr () :
 
 FGEnvironmentMgr::~FGEnvironmentMgr ()
 {
-  SGSubsystem * subsys;
-
-  subsys = get_subsystem( "ridgelift" );
   remove_subsystem( "ridgelift" );
-  delete subsys;
-
-  subsys = get_subsystem( "terrainsampler" );
   remove_subsystem( "terrainsampler" );
-  delete subsys;
-
-  subsys = get_subsystem( "precipitation" );
   remove_subsystem("precipitation");
-  delete subsys;
-
-  subsys = get_subsystem("realwx");
   remove_subsystem("realwx");
-  delete subsys;
-
-  subsys = get_subsystem("controller");
   remove_subsystem("controller");
-  delete subsys;
-
-  subsys = get_subsystem("magvar");
   remove_subsystem("magvar");
-  delete subsys;
   
   delete fgClouds;
   delete _environment;
index a6381569ba53a8dac4351deef707c01767b2bd6c..767dcb5a242728a7b21f89f5fb5afca24e887b7a 100644 (file)
@@ -185,13 +185,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,7 +215,6 @@ FGGlobals::~FGGlobals()
     delete fontcache;
 
     delete channellist;
-    delete sound;
 
     delete locale;
     locale = NULL;