]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/fg_init.cxx
Crash-fix: mat-lib is now reference-counted.
[flightgear.git] / src / Main / fg_init.cxx
index 8de7deda1962b4b6d5681467a2a487ffefe7387c..3abb334601472843151010de39fdc7721254706f 100644 (file)
@@ -948,6 +948,13 @@ void fgStartNewReset()
     fgSetBool("/sim/freeze/master", true);
     
     SGSubsystemMgr* subsystemManger = globals->get_subsystem_mgr();
+    // Nasal is manually inited in fgPostInit, ensure it's already shutdown
+    // before other subsystems, so Nasal listeners don't fire during shutdonw
+    SGSubsystem* nasal = subsystemManger->get_subsystem("nasal");
+    nasal->shutdown();
+    nasal->unbind();
+    subsystemManger->remove("nasal");
+    
     subsystemManger->shutdown();
     subsystemManger->unbind();
     
@@ -1022,14 +1029,15 @@ void fgStartNewReset()
     globals->set_renderer(render);
     render->init();
     render->setViewer(viewer.get());
+
     viewer->getDatabasePager()->setUpThreads(1, 1);
-    render->splashinit();
     
+    // must do this before splashinit for Rembrandt
     flightgear::CameraGroup::buildDefaultGroup(viewer.get());
-
+    render->splashinit();
+    
     fgOSResetProperties();
 
-    
 // init some things manually
 // which do not follow the regular init pattern