1
0
Fork 0

Architectural fix allowing the "tip" popups (FOV, view name, etc...)

to pop themselves down while the simulator is paused.

The problem was with the "real time" queue in the event manager,
causing the third argument of Nasal's settimer() (a flag for "sim
time") to be ignored.  Inverts the default sense of the argument, as
there are lots of uses of settimer() in the current code, almost none
of which want to use real time.

Note this fix introduces a header file incompatibility in SimGear --
be sure to update.
This commit is contained in:
andy 2005-11-09 20:34:46 +00:00
parent 0787d72948
commit 14c3bc5932
2 changed files with 3 additions and 3 deletions

View file

@ -1578,7 +1578,7 @@ bool fgInitSubsystems() {
////////////////////////////////////////////////////////////////////
globals->get_event_mgr()->init();
globals->get_event_mgr()->setFreezeProperty(fgGetNode("/sim/freeze/clock"));
globals->get_event_mgr()->setRealtimeProperty(fgGetNode("/sim/time/delta-realtime-sec", true));
////////////////////////////////////////////////////////////////////
// Initialize the property interpolator subsystem

View file

@ -498,7 +498,7 @@ bool FGNasalSys::handleCommand(const SGPropertyNode* arg)
// settimer(func, dt, simtime) extension function. The first argument
// is a Nasal function to call, the second is a delta time (from now),
// in seconds. The third, if present, is a boolean value indicating
// that "simulator" time (rather than real time) is to be used.
// that "real world" time (rather than simulator time) is to be used.
//
// Implementation note: the FGTimer objects don't live inside the
// garbage collector, so the Nasal handler functions have to be
@ -515,7 +515,7 @@ void FGNasalSys::setTimer(int argc, naRef* args)
naRef delta = argc > 1 ? args[1] : naNil();
if(naIsNil(delta)) return;
bool simtime = (argc > 2 && naTrue(args[2])) ? true : false;
bool simtime = (argc > 2 && naTrue(args[2])) ? false : true;
// Generate and register a C++ timer handler
NasalTimer* t = new NasalTimer;