diff --git a/modules/juce_data_structures/values/juce_ValueTree.cpp b/modules/juce_data_structures/values/juce_ValueTree.cpp index 5800121735..8b6d2ac259 100644 --- a/modules/juce_data_structures/values/juce_ValueTree.cpp +++ b/modules/juce_data_structures/values/juce_ValueTree.cpp @@ -958,22 +958,26 @@ XmlElement* ValueTree::createXml() const ValueTree ValueTree::fromXml (const XmlElement& xml) { + if (! xml.isTextElement()) + { + ValueTree v (xml.getTagName()); + v.object->properties.setFromXmlAttributes (xml); + + forEachXmlChildElement (xml, e) + v.addChild (fromXml (*e), -1, nullptr); + + return v; + } + // ValueTrees don't have any equivalent to XML text elements! - jassert (! xml.isTextElement()); - - ValueTree v (xml.getTagName()); - v.object->properties.setFromXmlAttributes (xml); - - forEachXmlChildElement (xml, e) - v.addChild (fromXml (*e), -1, nullptr); - - return v; + jassertfalse; + return ValueTree(); } String ValueTree::toXmlString() const { const ScopedPointer xml (createXml()); - return xml != nullptr ? xml->createDocument ("") : String(); + return xml != nullptr ? xml->createDocument (StringRef()) : String(); } //==============================================================================