Allow ND rules to occur in the symbols file.
This commit is contained in:
parent
f3dec6a64d
commit
4873a28e97
1 changed files with 16 additions and 21 deletions
|
@ -476,28 +476,23 @@ NavDisplay::NavDisplay(SGPropertyNode *node) :
|
|||
_definitions.push_back(def);
|
||||
} // of symbol definition parsing
|
||||
|
||||
SGPropertyNode* rulesNode = node->getNode("rules");
|
||||
if (rulesNode) {
|
||||
SGPropertyNode* rule;
|
||||
BOOST_FOREACH(SGPropertyNode* rule, symbolsNode->getChildren("rule")) {
|
||||
SymbolRule* r = new SymbolRule;
|
||||
if (!r->initFromNode(rule, this)) {
|
||||
delete r;
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int i = 0; (rule = rulesNode->getChild("rule", i)) != NULL; ++i) {
|
||||
SymbolRule* r = new SymbolRule;
|
||||
if (!r->initFromNode(rule, this)) {
|
||||
delete r;
|
||||
continue;
|
||||
}
|
||||
|
||||
const char* id = symbol->getStringValue("symbol");
|
||||
if (id && strlen(id) && (definitionDict.find(id) != definitionDict.end())) {
|
||||
r->setDefinition(definitionDict[id]);
|
||||
} else {
|
||||
SG_LOG(SG_INSTR, SG_WARN, "symbol rule has missing/unknown definition id:" << id);
|
||||
delete r;
|
||||
continue;
|
||||
}
|
||||
|
||||
addRule(r);
|
||||
} // of symbol rule parsing
|
||||
const char* id = rule->getStringValue("symbol");
|
||||
if (id && strlen(id) && (definitionDict.find(id) != definitionDict.end())) {
|
||||
r->setDefinition(definitionDict[id]);
|
||||
} else {
|
||||
SG_LOG(SG_INSTR, SG_WARN, "symbol rule has missing/unknown definition id:" << id);
|
||||
delete r;
|
||||
continue;
|
||||
}
|
||||
|
||||
addRule(r);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue