diff --git a/communication/packet/versionpacket.cpp b/communication/packet/versionpacket.cpp index 7725965..af5c79e 100644 --- a/communication/packet/versionpacket.cpp +++ b/communication/packet/versionpacket.cpp @@ -8,7 +8,8 @@ std::shared_ptr HardwareVersionPacket::DecodeMainToMessage(const auto msg = std::make_shared(true); - optional& version = msg->Versions.emplace_back(); + msg->Versions.emplace_back(); + optional& version = msg->Versions.back(); version.emplace(); version->major = bytestream[1]; version->minor = bytestream[2]; @@ -24,7 +25,8 @@ std::shared_ptr HardwareVersionPacket::DecodeSecondaryToMessage( bytesLeft--; // Disregard command byte while(bytesLeft >= 3) { const bool versionValid = bytestream[bytestream.size() - bytesLeft + 0]; - optional& version = msg->Versions.emplace_back(); + msg->Versions.emplace_back(); + optional& version = msg->Versions.back(); if(versionValid) { version.emplace(); version->major = bytestream[bytestream.size() - bytesLeft + 1];