src/Main/fg_props.cxx: fix segv with --enable-freeze.
The problem was that FGProperties::bind()'s call of tiedProperties.Tie("/sim/freeze/master", ..., &FGProperties::setFreeze) was calling FGProperties::setFreeze(true) before it returned, but we were only setting _simFreezeNode *after* tiedProperties.Tie() had returned. tiedProperties.Tie() simply returns the node that it was given as its first arg, so we simply sets _simFreezeNode to the value it would have taken later, before calling tiedProperties.Tie().
This commit is contained in:
parent
5cf6e4c263
commit
a207cdd207
1 changed files with 2 additions and 1 deletions
|
@ -418,7 +418,8 @@ FGProperties::bind ()
|
|||
// Simulation
|
||||
_tiedProperties.Tie("/sim/logging/priority", getLoggingPriority, setLoggingPriority);
|
||||
_tiedProperties.Tie("/sim/logging/classes", getLoggingClasses, setLoggingClasses);
|
||||
_simFreezeNode = _tiedProperties.Tie("/sim/freeze/master", this, &FGProperties::getFreeze, &FGProperties::setFreeze);
|
||||
_simFreezeNode = fgGetNode("/sim/freeze/master", true);
|
||||
_tiedProperties.Tie(_simFreezeNode, this, &FGProperties::getFreeze, &FGProperties::setFreeze);
|
||||
_simFreezeNode->setAttribute(SGPropertyNode::LISTENER_SAFE, true);
|
||||
|
||||
_tiedProperties.Tie<double>("/sim/time/elapsed-sec", getElapsedTime_sec);
|
||||
|
|
Loading…
Add table
Reference in a new issue