From a5e516fe8cc5775aebfe8afa0328e6f26824d1bd Mon Sep 17 00:00:00 2001 From: Erik Hofman Date: Mon, 14 Dec 2015 11:14:40 +0100 Subject: [PATCH] Replace a program segmentation fault by an annoying message --- src/Model/modelmgr.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Model/modelmgr.cxx b/src/Model/modelmgr.cxx index 46ed240f4..a92a5d5ee 100644 --- a/src/Model/modelmgr.cxx +++ b/src/Model/modelmgr.cxx @@ -42,14 +42,19 @@ FGModelMgr::FGModelMgr () _models->addChangeListener(_listener); } +#include FGModelMgr::~FGModelMgr () { _models->removeChangeListener(_listener); delete _listener; + osg::Group *scene_graph = globals->get_scenery()->get_scene_graph(); + if (!scene_graph) + SG_LOG(SG_AIRCRAFT, SG_ALERT, "Warning: The scenegraph wass deleted before the models could be removed"); + for (unsigned int i = 0; i < _instances.size(); i++) { - globals->get_scenery()->get_scene_graph() - ->removeChild(_instances[i]->model->getSceneGraph()); + if (scene_graph) + scene_graph->removeChild(_instances[i]->model->getSceneGraph()); delete _instances[i]; } } -- 2.39.5