]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/globals.cxx
#545: Fix ATC chatter sound settings being ignored
[flightgear.git] / src / Main / globals.cxx
index e2ea2954bbc00ed9ba492790a54fbbab464b4e54..4eb26f21f7ec3296239bf04c745bb846a9620b88 100644 (file)
@@ -125,7 +125,6 @@ FGGlobals::FGGlobals() :
     renderer( new FGRenderer ),
     subsystem_mgr( new SGSubsystemMgr ),
     event_mgr( new SGEventMgr ),
-    soundmgr( new SGSoundMgr ),
     sim_time_sec( 0.0 ),
     fg_root( "" ),
     time_params( NULL ),
@@ -151,7 +150,7 @@ FGGlobals::FGGlobals() :
     dmelist( NULL ),
     tacanlist( NULL ),
     carrierlist( NULL ),
-    channellist( NULL )    
+    channellist( NULL )
 {
   simgear::ResourceManager::instance()->addProvider(new AircraftResourceProvider());
   simgear::PropertyObjectBase::setDefaultRoot(props);
@@ -172,7 +171,8 @@ FGGlobals::~FGGlobals()
         ai->unbind();
         delete ai;
     }
-    
+    SGSubsystem* sound = subsystem_mgr->remove("sound");
+
     subsystem_mgr->shutdown();
     subsystem_mgr->unbind();
     delete subsystem_mgr;
@@ -206,9 +206,7 @@ FGGlobals::~FGGlobals()
     delete tacanlist;
     delete carrierlist;
     delete channellist;
-
-    soundmgr->unbind();
-    delete soundmgr;
+    delete sound;
 }
 
 
@@ -360,7 +358,10 @@ FGGlobals::add_subsystem (const char * name,
 SGSoundMgr *
 FGGlobals::get_soundmgr () const
 {
-    return soundmgr;
+    if (subsystem_mgr)
+        return (SGSoundMgr*) subsystem_mgr->get_subsystem("sound");
+
+    return NULL;
 }
 
 SGEventMgr *