Index: globals.cxx
===================================================================
RCS file: /var/cvs/FlightGear-0.9/source/src/Main/globals.cxx,v
retrieving revision 1.65
diff -u -r1.65 globals.cxx
--- globals.cxx	24 Aug 2009 16:15:06 -0000	1.65
+++ globals.cxx	4 Sep 2009 03:47:47 -0000
@@ -121,6 +121,13 @@
     // shut down all subsystems, make sure we take down the 
     // AIModels system first.
     subsystem_mgr->get_group(SGSubsystemMgr::GENERAL)->remove_subsystem("ai_model");
+    // FGInput (FGInputEvent) and FGDialog calls get_subsystem() in their destructors, 
+    // which is not safe since some subsystem are already deleted but can be referred.
+    // So these subsystems must be deleted prior to deleting subsystem_mgr unless
+    // ~SGSubsystemGroup and SGSubsystemMgr::get_subsystem are changed not to refer to
+    // deleted subsystems.
+    subsystem_mgr->get_group(SGSubsystemMgr::GENERAL)->remove_subsystem("input");
+    subsystem_mgr->get_group(SGSubsystemMgr::GENERAL)->remove_subsystem("gui");
     delete subsystem_mgr;
     delete event_mgr;
     delete time_params;
