Index: sources/model/dg/adjustment/settings/MDuetRoWaterDG.cpp =================================================================== diff -u -r38ae7b93679d05a54fc460dac68891562d7da72d -r720d1051f9f5fef2d82f3878454550e9e2c5ca92 --- sources/model/dg/adjustment/settings/MDuetRoWaterDG.cpp (.../MDuetRoWaterDG.cpp) (revision 38ae7b93679d05a54fc460dac68891562d7da72d) +++ sources/model/dg/adjustment/settings/MDuetRoWaterDG.cpp (.../MDuetRoWaterDG.cpp) (revision 720d1051f9f5fef2d82f3878454550e9e2c5ca92) @@ -45,13 +45,17 @@ bool Model::MDuetRoWaterModeDGr::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position - if (GetValue(vByteArray, index, _data.mAccepted )) - if (GetValue(vByteArray, index, _data.mReason )) - if (GetValue(vByteArray, index, _data.mFirmwareValue )) - return true ; - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } + if ( ! GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFirmwareValue )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; + } /*!