]> git.mxchange.org Git - flightgear.git/commitdiff
FGViewer fixes
authorJames Turner <zakalawe@mac.com>
Wed, 29 Jan 2014 10:10:53 +0000 (10:10 +0000)
committerJames Turner <zakalawe@mac.com>
Wed, 29 Jan 2014 10:10:53 +0000 (10:10 +0000)
 - ensure active material are cached
 - clear osgDB object cache on exit explicitly

src/Viewer/fgviewer.cxx
utils/fgviewer/fgviewer.cxx

index 2d7af14955ee14a5b6283467098dcf843ea19d18..be10d7a640adaa32ba58e9d704f40b8246b9cc0f 100644 (file)
@@ -226,5 +226,11 @@ fgviewerMain(int argc, char** argv)
     // 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;
 }
index f5bb8e944b3c1326aaf6d6e5f852dda253c9631f..e0ebcf250539cb0a2eb32d0b0d01c8ed5ffdd4c3 100644 (file)
@@ -188,6 +188,7 @@ main(int argc, char** argv)
         SG_LOG(SG_GENERAL, SG_ALERT, "Problems loading FlightGear materials.\n"
                << "Probably FG_ROOT is not properly set.");
     }
+    ml->refreshActiveMaterials();
     simgear::SGModelLib::init(fg_root, props);
 
     // Set up the reader/writer options