]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/subsystem_mgr.hxx
fix SGPagedLOD change for 2.8.3
[simgear.git] / simgear / structure / subsystem_mgr.hxx
index 212ce58455330b4d2db7e0e48ea6c3758d08f344..c49d73fd2db8d143bf3ae47ae606c4aa29cc6848 100644 (file)
@@ -169,6 +169,16 @@ public:
   virtual void reinit ();
 
 
+  /**
+   * Shutdown the subsystem.
+   *
+   * <p>Release any state associated with subsystem. Shutdown happens in
+   * the reverse order to init(), so this is the correct place to do
+   * shutdown that depends on other subsystems.
+   * </p>
+   */
+  virtual void shutdown ();
+   
   /**
    * Acquire the subsystem's property bindings.
    *
@@ -297,6 +307,7 @@ public:
     virtual void init ();
     virtual void postinit ();
     virtual void reinit ();
+    virtual void shutdown ();
     virtual void bind ();
     virtual void unbind ();
     virtual void update (double delta_time_sec);
@@ -392,6 +403,7 @@ public:
     virtual void init ();
     virtual void postinit ();
     virtual void reinit ();
+    virtual void shutdown ();
     virtual void bind ();
     virtual void unbind ();
     virtual void update (double delta_time_sec);
@@ -418,7 +430,7 @@ public:
 
 private:
 
-    SGSubsystemGroup _groups[MAX_GROUPS];
+    SGSubsystemGroup* _groups[MAX_GROUPS];
     
     typedef std::map<std::string, SGSubsystem*> SubsystemDict;
     SubsystemDict _subsystem_map;