]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/transponder.cxx
Support for multiple data dirs.
[flightgear.git] / src / Instrumentation / transponder.cxx
index 2658cf49f7b76d29ddd7277335ba23fa31828f12..b95e9404d54c93a778b062c842f0c97680e00da2 100644 (file)
@@ -48,6 +48,7 @@ const int INVALID_ID = -9999;
 
 Transponder::Transponder(SGPropertyNode *node)
     :
+    _identMode(false),
     _name(node->getStringValue("name", "transponder")),
     _num(node->getIntValue("number", 0)),
     _mode((Mode) node->getIntValue("mode", 1)),
@@ -224,10 +225,14 @@ static int modifyCodeDigit(int code, int index, int digitValue)
 void Transponder::valueChanged(SGPropertyNode *prop)
 {
     // Ident button pressed
-    if ((prop == _identBtn_node) && prop->getBoolValue()) {
-        _identTime = 0.0;
-        _ident_node->setBoolValue(true);
-        _identMode = true;
+    if (prop == _identBtn_node) {
+        if (prop->getBoolValue()) {
+            _identTime = 0.0;
+            _ident_node->setBoolValue(true);
+            _identMode = true;
+        } else {
+            // don't cancel state on release
+        }
         return;
     }