simgear::Dir exportDir(simgear::Dir(dataPath).file("Export"));
if (!exportDir.exists()) {
- exportDir.create(0777);
+ exportDir.create(0755);
}
// Set /sim/fg-home and don't allow malign code to override it until
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();
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