]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/subsystem_mgr.cxx
Make at least the header aliasing safe.
[simgear.git] / simgear / structure / subsystem_mgr.cxx
index 8b1d5ea456309e1b99134f88ae43c73016bbe420..3be9096233ac67f9258c19a9e5b594e2c7398c8b 100644 (file)
@@ -25,6 +25,11 @@ SGSubsystem::init ()
 {
 }
 
+void
+SGSubsystem::postinit ()
+{
+}
+
 void
 SGSubsystem::reinit ()
 {
@@ -87,6 +92,13 @@ SGSubsystemGroup::init ()
         _members[i]->subsystem->init();
 }
 
+void
+SGSubsystemGroup::postinit ()
+{
+    for (unsigned int i = 0; i < _members.size(); i++)
+        _members[i]->subsystem->postinit();
+}
+
 void
 SGSubsystemGroup::reinit ()
 {
@@ -212,8 +224,7 @@ SGSubsystemGroup::Member::Member (const Member &)
 
 SGSubsystemGroup::Member::~Member ()
 {
-                                // FIXME: causes a crash
-//     delete subsystem;
+    delete subsystem;
 }
 
 void
@@ -250,6 +261,13 @@ SGSubsystemMgr::init ()
             _groups[i].init();
 }
 
+void
+SGSubsystemMgr::postinit ()
+{
+    for (int i = 0; i < MAX_GROUPS; i++)
+            _groups[i].postinit();
+}
+
 void
 SGSubsystemMgr::reinit ()
 {