diff --git a/ChangeLog.md b/ChangeLog.md index 752ca7a..a8cb182 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -20,12 +20,21 @@ Note: This file only contains high level features or important fixes. * ArduPilot: Support configurable mavlink stream rates. Available from Settings/Mavlink page. * Major rewrite and bug fix pass through Structure Scan. Previous version had such bad problems that it can no longer be supported. Plans with Structure Scan will need to be recreated. New QGC will not load old Structure Scan plans. -### 3.5.1 - Not yet released +### 3.5.3 - Not yet released +* Fix crash when clicking on GeoFence polygon vertex +* PX4: Fix missing ```MC_YAW_FF``` parameter in PID Tuning +* ArduPilot: Fix parameter file save generating bad characters from git hash + +### 3.5.2 - Stable +* Fix Ubuntu AppImage startup failure + +### 3.5.1 +* Update Windows usb drivers * Add ArduPilot CubeBlack Service Bulletin check * Fix visibility of PX4/ArduPilot logo in toolbar * Fix tile set count but in OfflineMaps which would cause image and elevation tile set to have incorrect counts and be incorrectly marked as download incomplete. -### 3.5.0 - Stable +### 3.5.0 * Plan GeoFence: Fix loading of fence from intermediate 3.4 code * Structure Scan: Fix loading of structure scan height * ArduPilot: Fix location of planned home position when not connected to vehicle. Issue #6840. diff --git a/QGCSetup.pri b/QGCSetup.pri index 84cc7f1..0150338 100644 --- a/QGCSetup.pri +++ b/QGCSetup.pri @@ -138,8 +138,9 @@ LinuxBuild { !contains(DEFINES, __rasp_pi2__) { # Some Qt distributions link with *.so.56 QT_LIB_LIST += \ - libicudata.so* \ - libicuuc.so* + libicudata.so.56 \ + libicui18n.so.56 \ + libicuuc.so.56 } for(QT_LIB, QT_LIB_LIST) { diff --git a/deploy/px4driver.msi b/deploy/px4driver.msi index 4e2b086..8bd3e50 100644 Binary files a/deploy/px4driver.msi and b/deploy/px4driver.msi differ diff --git a/src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml b/src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml index 4c57ab2..19aa75f 100644 --- a/src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml +++ b/src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml @@ -112,7 +112,6 @@ SetupPage { controller.getParameterFact(-1, "MC_YAWRATE_P"), controller.getParameterFact(-1, "MC_YAWRATE_I"), controller.getParameterFact(-1, "MC_YAWRATE_D"), - controller.getParameterFact(-1, "MC_YAW_FF"), controller.getParameterFact(-1, "MC_YAWRATE_FF") ] ] } } // Component - Advanced Page diff --git a/src/PlanView/GeoFenceMapVisuals.qml b/src/PlanView/GeoFenceMapVisuals.qml index 18bc19b..6ef0e4f 100644 --- a/src/PlanView/GeoFenceMapVisuals.qml +++ b/src/PlanView/GeoFenceMapVisuals.qml @@ -20,6 +20,7 @@ import QGroundControl.FlightMap 1.0 /// GeoFence map visuals Item { + id: _root z: QGroundControl.zOrderMapItems property var map @@ -88,10 +89,15 @@ Item { _paramCircleFenceComponent.destroy() } + // By default the parent for Instantiator.delegate item is the Instatiator itself. By there is a bug + // in Qt which will cause a crash if this delete item has Menu item within it. Since the Menu item + // doesn't like having a non-visual item as parent. This is likely related to hybrid QQuickWidtget+QML + // Hence Qt folks are going to care. In order to workaround you have to parent the item to _root Item instead. Instantiator { model: _polygons delegate : QGCMapPolygonVisuals { + parent: _root mapControl: map mapPolygon: object borderWidth: object.inclusion ? _borderWidthInclusion : _borderWidthExclusion @@ -105,6 +111,7 @@ Item { model: _circles delegate : QGCMapCircleVisuals { + parent: _root mapControl: map mapCircle: object borderWidth: object.inclusion ? _borderWidthInclusion : _borderWidthExclusion diff --git a/src/Terrain/TerrainQuery.cc b/src/Terrain/TerrainQuery.cc index b2d1dad..5268749 100644 --- a/src/Terrain/TerrainQuery.cc +++ b/src/Terrain/TerrainQuery.cc @@ -489,7 +489,7 @@ void TerrainTileManager::_terrainDone(QByteArray responseBytes, QNetworkReply::N return; } - qWarning() << "Received some bytes of terrain data: " << responseBytes.size(); + qCDebug(TerrainQueryLog) << "Received some bytes of terrain data: " << responseBytes.size(); TerrainTile* terrainTile = new TerrainTile(responseBytes); if (terrainTile->isValid()) { diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 35e0db7..43d8247 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -1309,13 +1309,15 @@ void Vehicle::_handleAutopilotVersion(LinkInterface *link, mavlink_message_t& me // PX4 Firmware stores the first 16 characters of the git hash as binary, with the individual bytes in reverse order _gitHash = ""; - QByteArray array((char*)autopilotVersion.flight_custom_version, 8); for (int i = 7; i >= 0; i--) { _gitHash.append(QString("%1").arg(autopilotVersion.flight_custom_version[i], 2, 16, QChar('0'))); } } else { // APM Firmware stores the first 8 characters of the git hash as an ASCII character string - _gitHash = QString::fromUtf8((char*)autopilotVersion.flight_custom_version, 8); + char nullStr[9]; + strncpy(nullStr, (char*)autopilotVersion.flight_custom_version, 8); + nullStr[8] = 0; + _gitHash = nullStr; } if (_toolbox->corePlugin()->options()->checkFirmwareVersion()) { _firmwarePlugin->checkIfIsLatestStable(this);