X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fprops%2Fprops_io.cxx;h=a4fe5a16e4b62c54f17440dec2b8877a1ddf66ac;hb=68eb7031e2dce999d112d0164fa28d4b8d66922e;hp=00cafd2a0b88a15fe7d1d9cd0540177583209d4b;hpb=64ab59c0e052b5ec0f484dde2b7f4af1d6e74653;p=simgear.git diff --git a/simgear/props/props_io.cxx b/simgear/props/props_io.cxx index 00cafd2a..a4fe5a16 100644 --- a/simgear/props/props_io.cxx +++ b/simgear/props/props_io.cxx @@ -173,7 +173,6 @@ PropsVisitor::startElement (const char * name, const XMLAttributes &atts) // Got the index, so grab the node. SGPropertyNode * node = st.node->getChild(name, index, true); - node->clearValue(); // Get the access-mode attributes, // but don't set yet (in case they @@ -215,7 +214,10 @@ PropsVisitor::startElement (const char * name, const XMLAttributes &atts) } } - push_state(node, atts.getValue("type"), mode); + const char *type = atts.getValue("type"); + if (type) + node->clearValue(); + push_state(node, type, mode); } } @@ -589,6 +591,9 @@ copyProperties (const SGPropertyNode *in, SGPropertyNode *out) } } + // copy the attributes. + out->setAttributes( in->getAttributes() ); + // Next, copy the children. int nChildren = in->nChildren(); for (int i = 0; i < nChildren; i++) {