Skip to content

Commit 30d9a0c

Browse files
committed
Fix "on headset" dataref initialization #183
1 parent 7a36b47 commit 30d9a0c

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

client/Resources/Components/RadioStack.qml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ ColumnLayout {
5656
isCom1Tx = false
5757
isCom2Tx = false
5858
}
59+
60+
function onCom1OnHeadsetChanged(onHeadset) {
61+
com1Headset = onHeadset
62+
}
63+
64+
function onCom2OnHeadsetChanged(onHeadset) {
65+
com2Headset = onHeadset
66+
}
5967
}
6068

6169
Connections {

client/src/simulator/xplane_adapter.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,8 @@ void XplaneAdapter::clearSimConnection()
260260
emit simConnectionStateChanged(false);
261261
m_initialHandshake = false;
262262
m_simConnected = false;
263+
m_com1HeadsetStateSet = false;
264+
m_com2HeadsetStateSet = false;
263265
m_subscribedDataRefs.clear();
264266
}
265267

@@ -678,12 +680,12 @@ void XplaneAdapter::OnDataReceived()
678680
m_xplaneVersion = value;
679681
break;
680682
case DataRef::Com1OnHeadset:
681-
if(value != AppConfig::getInstance()->Com1OnHeadset) {
683+
if(value != AppConfig::getInstance()->Com1OnHeadset && m_com1HeadsetStateSet) {
682684
emit com1OnHeadsetChanged(value);
683685
}
684686
break;
685687
case DataRef::Com2OnHeadset:
686-
if(value != AppConfig::getInstance()->Com2OnHeadset) {
688+
if(value != AppConfig::getInstance()->Com2OnHeadset && m_com2HeadsetStateSet) {
687689
emit com2OnHeadsetChanged(value);
688690
}
689691
break;
@@ -786,11 +788,13 @@ void XplaneAdapter::selcalAlertReceived()
786788
void XplaneAdapter::setCom1OnHeadset(bool onHeadset)
787789
{
788790
setDataRefValue("xpilot/audio/com1_on_headset", (int)onHeadset);
791+
m_com1HeadsetStateSet = true;
789792
}
790793

791794
void XplaneAdapter::setCom2OnHeadset(bool onHeadset)
792795
{
793796
setDataRefValue("xpilot/audio/com2_on_headset", (int)onHeadset);
797+
m_com2HeadsetStateSet = true;
794798
}
795799

796800
void XplaneAdapter::AddAircraftToSimulator(const NetworkAircraft &aircraft)

client/src/simulator/xplane_adapter.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ public slots:
156156
bool m_simPaused = false;
157157
bool m_voiceTransmitDisabled = false;
158158

159+
bool m_com1HeadsetStateSet = false;
160+
bool m_com2HeadsetStateSet = false;
161+
159162
UserAircraftData m_userAircraftData{};
160163
UserAircraftConfigData m_userAircraftConfigData{};
161164
RadioStackState m_radioStackState{};

0 commit comments

Comments
 (0)