Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r3e5cdca5de3ac46619325bf1e37c572d729d5fa9 -r51accb0c8de0c3fd15b65c672dc348e99059597b --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 3e5cdca5de3ac46619325bf1e37c572d729d5fa9) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 51accb0c8de0c3fd15b65c672dc348e99059597b) @@ -37,6 +37,14 @@ LOG_EVENT(vMODEL::toString(vData)); \ DEBUG_RECEIVE_SIGNAL(0, typeid(vMODEL).name()) +// another version of the INTERPRET_RECEIVED_MESSAGE for empty messages +// same later improvements apply to this MACRO as well. +#define INTERPRET_RECVD_MT_MESSAGE(vMODEL) \ + if ( length ) { logInvalidLength(vActionId); return false; } \ + vPayload = Format::fromVariant(vData); \ + LOG_EVENT(vMODEL::toString(vData)); \ + DEBUG_RECEIVE_SIGNAL(0, typeid(vMODEL).name()) + /*! * \brief MessageInterpreter::MessageInterpreter * \details Constructor @@ -230,7 +238,7 @@ // pre-Treatment case Gui::GuiActionType::ID_StartTreatmentReq : INTERPRET_RECEIVED_MESSAGE(StartTreatmentRequestData ); break; case Gui::GuiActionType::ID_ConfirmTreatmentReq : INTERPRET_RECEIVED_MESSAGE(ConfirmTreatmentRequestData ); break; - case Gui::GuiActionType::ID_EndTreatmentReq : INTERPRET_RECEIVED_MESSAGE(EndTreatmentRequestData ); break; + case Gui::GuiActionType::ID_EndTreatmentReq : INTERPRET_RECVD_MT_MESSAGE(EndTreatmentRequestData ); break; case Gui::GuiActionType::ID_CreateTreatmentReq : INTERPRET_RECEIVED_MESSAGE(AdjustTreatmentParametersRequestData ); break; // alarms case Gui::GuiActionType::ID_AlarmSilenceReq : INTERPRET_RECEIVED_MESSAGE(AlarmSilenceRequestData ); break;