* David Luff -- Friday 24 December 2004 11:31:
> I can set the frequency on the radios, the problem is that there is no
> response from ATC.  This was working a couple of weeks ago, and I haven't 
> changed anything in the ATC end, so my guess is that something has got mixed 
> up in the property system somewhere during some of the recent changes.

Hardly. Almost all of the changes are reverted in cvs. These are the only
changes that were effectively made to the simgear/props/ directory in the
last three months: 

$ cvs diff -D'3 months ago'
Index: props_io.cxx
RCS file: /var/cvs/SimGear-0.3/SimGear/simgear/props/props_io.cxx,v
retrieving revision 1.5
diff -u -p -r1.5 props_io.cxx
--- props_io.cxx        10 Sep 2004 15:57:52 -0000      1.5
+++ props_io.cxx        24 Dec 2004 11:57:05 -0000
@@ -483,7 +483,7 @@ writeNode (ostream &output, const SGProp

                                // If there are children, write them next.
-  if (nChildren > 0 || node->isAlias()) {
+  if (nChildren > 0) {
     doIndent(output, indent);
     output << '<' << name;
     writeAtts(output, node);
@@ -580,6 +580,8 @@ copyProperties (const SGPropertyNode *in
        retval = false;
+      if (in->isAlias())
+       break;
       string message = "Unknown internal SGPropertyNode type";
       message += in->getType();
       throw sg_error(message, "SimGear Property Reader");

The first change is in "writeNode()" and is only used when writing the
current state to a file ("fgfs.sav" by default). It prevents fgfs from
writing empty property statements after aliases, which looked like this:

  <foo alias=/some/path/>

Why would one want to write children nodes when there are no children,
just because the node in question is an alias? (Because the target node
could have children? Hmm ... I'll look into that again.)

The second change prevents fgfs from aborting when loading a saved state
("fgfs.sav") that contains alias nodes. Both changes can't have the least
effect on the comm radios.


Flightgear-devel mailing list

Reply via email to