1
0
Fork 0

Fix a seg fault that could be caused if all no AI models were in existance. Ssg could then free the memory pointed to by our pointer behind our back, causing it to crash when next approaching a controlled airport requiring an AI model. Fix is to hold one ref to each model in the AIMgr at all times.

This commit is contained in:
daveluff 2004-04-11 15:20:36 +00:00
parent d27ba7f2d2
commit 7019fcdc15

View file

@ -56,6 +56,8 @@ FGAIMgr::FGAIMgr() {
}
FGAIMgr::~FGAIMgr() {
_defaultModel->deRef();
_piperModel->deRef();
}
void FGAIMgr::init() {
@ -84,6 +86,10 @@ void FGAIMgr::init() {
globals->get_props(),
globals->get_sim_time_sec() );
// We need to keep one ref of the models open to stop ssg deleting them behind our back!
_defaultModel->ref();
_piperModel->ref();
// go through the $FG_ROOT/ATC directory and find all *.taxi files
SGPath path(globals->get_fg_root());
path.append("ATC/");