Work-around for issue 1231.
Force sglog() to be initialised before at exit handler is registered, so logging can be used from inside our exit handler.
This commit is contained in:
parent
26a3573aea
commit
78f2f2f142
1 changed files with 7 additions and 0 deletions
|
@ -236,6 +236,11 @@ int main ( int argc, char **argv )
|
|||
// FIXME: add other, more specific
|
||||
// exceptions.
|
||||
try {
|
||||
// http://code.google.com/p/flightgear-bugs/issues/detail?id=1231
|
||||
// ensure sglog is inited before atexit() is registered, so logging
|
||||
// is possible inside fgExitCleanup
|
||||
sglog();
|
||||
|
||||
std::set_terminate(fg_terminate);
|
||||
atexit(fgExitCleanup);
|
||||
if (fgviewer)
|
||||
|
@ -277,6 +282,8 @@ void fgExitCleanup() {
|
|||
if (_bootstrap_OSInit != 0)
|
||||
fgSetMouseCursor(MOUSE_CURSOR_POINTER);
|
||||
|
||||
// on the common exit path globals is already deleted, and NULL,
|
||||
// so this only happens on error paths.
|
||||
delete globals;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue