else
assert(t == props::STRING);
}
- p->addChangeListener(new FGMakeUpperCase);
+ SGPropertyChangeListener* muc = new FGMakeUpperCase;
+ globals->addListenerToCleanup(muc);
+ p->addChangeListener(muc);
}
// see http://code.google.com/p/flightgear-bugs/issues/detail?id=385
return EXIT_SUCCESS;
}
+ configResult = fgInitAircraft(false);
+ if (configResult == flightgear::FG_OPTIONS_ERROR) {
+ return EXIT_FAILURE;
+ } else if (configResult == flightgear::FG_OPTIONS_EXIT) {
+ return EXIT_SUCCESS;
+ }
+
+ configResult = flightgear::Options::sharedInstance()->processOptions();
+ if (configResult == flightgear::FG_OPTIONS_ERROR) {
+ return EXIT_FAILURE;
+ } else if (configResult == flightgear::FG_OPTIONS_EXIT) {
+ return EXIT_SUCCESS;
+ }
+
// Initialize the Window/Graphics environment.
fgOSInit(&argc, argv);
_bootstrap_OSInit++;