Commit 4ab2f4f4 authored by Jean-Luc Pons's avatar Jean-Luc Pons

Fix: DeviceAttribute extraction of INVALID no longer throw an exection !

parent 1785208c
......@@ -944,7 +944,7 @@ void AttributeCombiner::add_dynamic_commands()
for (int i = 0; i < nbDev; i++) {
for (int j = 0; j < nbAtt; j++) {
if (!arl[j][i].has_failed() && arl[j][i].group_element_enabled()) {
if (!arl[j][i].has_failed() && !arl[j][i].get_data().is_empty() && arl[j][i].group_element_enabled()) {
vector<inType> val;
arl[j][i] >> val;
if (firstValue) {
......@@ -957,7 +957,7 @@ void AttributeCombiner::add_dynamic_commands()
allEqual = allEqual && (val[0] == value);
}
} else {
if (arl[j][i].group_element_enabled()) {
if (arl[j][i].has_failed() && arl[j][i].group_element_enabled()) {
addError(i, arl[j][i]);
allEqual = false;
}
......@@ -1149,10 +1149,11 @@ void AttributeCombiner::add_dynamic_commands()
for (int i = 0; i < nbDev; i++) {
for (int j = 0; j < nbAtt; j++) {
if (arl[j][i].has_failed()) {
if (arl[j][i].has_failed() || arl[j][i].get_data().is_empty()) {
readVal[i * nbAtt + j] = invalid;
if (isRW) readSetPoint[i * nbAtt + j] = invalid;
addError(i, arl[j][i]);
if(arl[j][i].has_failed())
addError(i, arl[j][i]);
} else {
if (arl[j][i].group_element_enabled()) {
if (item->type != Tango::DEV_STATE && isRW) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment