since the submodel_mgr subsystem does now also hold references to AI models,
we need to explicitly destroy that here, too, so that it has guaranteed access to the Nasal subsystem. Otherwise we get a segfault on exit. When the next subsystem needs this special treatement (radar?), we should introduce a new subsystem group (in addition to INIT and GENERAL)
This commit is contained in:
parent
b0c7a401d6
commit
83418376d7
1 changed files with 8 additions and 1 deletions
|
@ -109,9 +109,16 @@ fgExit (int status)
|
|||
{
|
||||
// remove subsystems first, which need access to other subsystems in their
|
||||
// destructors (e.g. "nasal")
|
||||
SGSubsystem *sub = globals->get_subsystem("ai_model");
|
||||
SGSubsystem *sub;
|
||||
|
||||
sub = globals->get_subsystem("ai_model");
|
||||
globals->get_subsystem_mgr()->get_group(SGSubsystemMgr::GENERAL)->remove_subsystem("ai_model");
|
||||
delete sub;
|
||||
|
||||
sub = globals->get_subsystem("submodel_mgr");
|
||||
globals->get_subsystem_mgr()->get_group(SGSubsystemMgr::GENERAL)->remove_subsystem("submodel_mgr");
|
||||
delete sub;
|
||||
|
||||
#ifdef OSG_LIBRARY_STATIC
|
||||
osgDB::Registry::instance( true);
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue