I think that the existing code could lead the tree structure (attribute/element types) to an inconsistent state that led to windows crashes. As far as I can remember, it was originally because of QName comparison using == instead of equals.
This merge proposal (i) brings more encapsulation to the node/tree classes by enforcing some invariants on accessible states w.r.t. types (in debug mode) to be on the safe side and (ii) fixes the code so that these invariants always hold outside of the type-handling functions. In particular, invariants should hold before and after calling setTree, so that the the consumer of this function does not need to worry about it. -- https://code.launchpad.net/~zorba-coders/zorba/bug-971782/+merge/100788 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : firstname.lastname@example.org Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp