From 9a30008fcb760e3eb17a3140ac98c518a4bdfcac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Thu, 24 Nov 2016 10:03:55 +0100 Subject: [PATCH] MAVLinkLogManager: avoid returning too early, use mavlink_logging_data_acked_t message The return lead to data being dropped. Some of this data could have been part of the ulog header, which lead to corrupt files. --- src/Vehicle/MAVLinkLogManager.cc | 1 - src/Vehicle/Vehicle.cc | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Vehicle/MAVLinkLogManager.cc b/src/Vehicle/MAVLinkLogManager.cc index ea153d396..72e2d6e6e 100644 --- a/src/Vehicle/MAVLinkLogManager.cc +++ b/src/Vehicle/MAVLinkLogManager.cc @@ -223,7 +223,6 @@ MAVLinkLogProcessor::_writeUlogMessage(QByteArray& data) break; _writeData(data.data(), message_length); data.remove(0, message_length); - return data; } return data; } diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index a3eaa1de6..11572f8c1 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -2090,8 +2090,8 @@ Vehicle::_handleMavlinkLoggingData(mavlink_message_t& message) void Vehicle::_handleMavlinkLoggingDataAcked(mavlink_message_t& message) { - mavlink_logging_data_t log; - mavlink_msg_logging_data_decode(&message, &log); + mavlink_logging_data_acked_t log; + mavlink_msg_logging_data_acked_decode(&message, &log); _ackMavlinkLogData(log.sequence); emit mavlinkLogData(this, log.target_system, log.target_component, log.sequence, log.first_message_offset, QByteArray((const char*)log.data, log.length), true); -- 2.22.0