1
0
Fork 0

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:
James Turner 2013-10-15 22:02:36 +01:00
parent 26a3573aea
commit 78f2f2f142

View file

@ -236,6 +236,11 @@ int main ( int argc, char **argv )
// FIXME: add other, more specific // FIXME: add other, more specific
// exceptions. // exceptions.
try { 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); std::set_terminate(fg_terminate);
atexit(fgExitCleanup); atexit(fgExitCleanup);
if (fgviewer) if (fgviewer)
@ -277,6 +282,8 @@ void fgExitCleanup() {
if (_bootstrap_OSInit != 0) if (_bootstrap_OSInit != 0)
fgSetMouseCursor(MOUSE_CURSOR_POINTER); fgSetMouseCursor(MOUSE_CURSOR_POINTER);
// on the common exit path globals is already deleted, and NULL,
// so this only happens on error paths.
delete globals; delete globals;
} }