- comparison: don't crash if second element is missing

- better messages ("panel"?!)
This commit is contained in:
mfranz
2007-12-06 17:57:41 +00:00
parent 4efa087cd1
commit 95d857e091
+5 -3
View File
@@ -214,7 +214,7 @@ doComparison (const SGPropertyNode * left, const SGPropertyNode *right)
break; break;
} }
} }
throw sg_exception("Unrecognized node type"); throw sg_exception("condition: unrecognized node type in comparison");
return 0; return 0;
} }
@@ -299,7 +299,7 @@ readNotCondition( SGPropertyNode *prop_root, const SGPropertyNode *node )
if (condition != 0) if (condition != 0)
return new SGNotCondition(condition); return new SGNotCondition(condition);
} }
SG_LOG(SG_COCKPIT, SG_ALERT, "Panel: empty 'not' condition"); SG_LOG(SG_COCKPIT, SG_ALERT, "empty 'not' condition");
return 0; return 0;
} }
@@ -341,8 +341,10 @@ readComparison( SGPropertyNode *prop_root,
condition->setLeftProperty(prop_root, node->getStringValue("property[0]")); condition->setLeftProperty(prop_root, node->getStringValue("property[0]"));
if (node->hasValue("property[1]")) if (node->hasValue("property[1]"))
condition->setRightProperty(prop_root, node->getStringValue("property[1]")); condition->setRightProperty(prop_root, node->getStringValue("property[1]"));
else else if (node->hasValue("value"))
condition->setRightValue(node->getChild("value", 0)); condition->setRightValue(node->getChild("value", 0));
else
throw sg_exception("condition: comparison without property[1] or value");
return condition; return condition;
} }