Browse Source

Fix signalling causing broken flight path bugs (#9282)

* Fix signalling causing broken flight path bugs

* Fix unit test
QGC4.4
Don Gagne 4 years ago committed by GitHub
parent
commit
c14e70792c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/MissionManager/SimpleMissionItem.cc
  2. 4
      src/MissionManager/SimpleMissionItemTest.cc

2
src/MissionManager/SimpleMissionItem.cc

@ -174,7 +174,7 @@ void SimpleMissionItem::_connectSignals(void) @@ -174,7 +174,7 @@ void SimpleMissionItem::_connectSignals(void)
connect(&_missionItem._param4Fact, &Fact::valueChanged, this, &SimpleMissionItem::_possibleVehicleYawChanged);
// Exit coordinate is the same as entrance coordinate
connect(this, &SimpleMissionItem::coordinateChanged, this, &SimpleMissionItem::exitCoordinate);
connect(this, &SimpleMissionItem::coordinateChanged, this, &SimpleMissionItem::exitCoordinateChanged);
// The following changes may also change friendlyEditAllowed
connect(&_missionItem._autoContinueFact, &Fact::valueChanged, this, &SimpleMissionItem::_sendFriendlyEditAllowedChanged);

4
src/MissionManager/SimpleMissionItemTest.cc

@ -262,10 +262,10 @@ void SimpleMissionItemTest::_testSignals(void) @@ -262,10 +262,10 @@ void SimpleMissionItemTest::_testSignals(void)
// Check that actually changing coordinate signals correctly
_simpleItem->setCoordinate(QGeoCoordinate(missionItem.param5() + 1, missionItem.param6(), missionItem.param7()));
QVERIFY(_spyVisualItem->checkOnlySignalByMask(coordinateChangedMask | dirtyChangedMask));
QVERIFY(_spyVisualItem->checkOnlySignalByMask(coordinateChangedMask | exitCoordinateChangedMask | dirtyChangedMask));
_spyVisualItem->clearAllSignals();
_simpleItem->setCoordinate(QGeoCoordinate(missionItem.param5(), missionItem.param6() + 1, missionItem.param7()));
QVERIFY(_spyVisualItem->checkOnlySignalByMask(coordinateChangedMask | dirtyChangedMask));
QVERIFY(_spyVisualItem->checkOnlySignalByMask(coordinateChangedMask | exitCoordinateChangedMask | dirtyChangedMask));
_spyVisualItem->clearAllSignals();
// Altitude in coordinate is not used in setCoordinate

Loading…
Cancel
Save