globals = new FGGlobals;
- int configResult = fgInitConfig(arguments.argc(), arguments.argv());
+ int configResult = fgInitConfig(arguments.argc(), arguments.argv(), false);
if (configResult == flightgear::FG_OPTIONS_ERROR) {
return EXIT_FAILURE;
} else if (configResult == flightgear::FG_OPTIONS_EXIT) {
// pass the loaded scene graph to the viewer.
viewer.setSceneData(loadedModel.get());
- return viewer.run();
+ int result = viewer.run();
+
+ // clear cache now, since it contains SimGear objects. Otherwise SG_LOG
+ // calls during shutdown will cause crashes.
+ osgDB::Registry::instance()->clearObjectCache();
+
+ return result;
}