Index: sources/model/hd/data/treatment/MTreatmentTimeData.cpp =================================================================== diff -u -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 -rd75408467177729ebe40cf64fc9f3ba6480dad22 --- sources/model/hd/data/treatment/MTreatmentTimeData.cpp (.../MTreatmentTimeData.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) +++ sources/model/hd/data/treatment/MTreatmentTimeData.cpp (.../MTreatmentTimeData.cpp) (revision d75408467177729ebe40cf64fc9f3ba6480dad22) @@ -26,13 +26,16 @@ bool MTreatmentTime::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position - if (GetValue(vByteArray, index, _data.mTotal )) - if (GetValue(vByteArray, index, _data.mElapsed )) - if (GetValue(vByteArray, index, _data.mRemaining )) + if ( ! GetValue(vByteArray, index, _data.mTotal )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mElapsed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRemaining )) goto lError; + return true ; - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } + +lError: + if(vIndex) { *vIndex = index; } + + return false ; } /*!