Issue299 - Allow Accept() to work with element trees that are not
linked in to the owning document.
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 57a4840..a22f251 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -2297,8 +2297,12 @@
bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attribute )
{
- const XMLElement* parentElem = element.Parent()->ToElement();
- bool compactMode = parentElem ? CompactMode(*parentElem) : _compactMode;
+ const XMLElement* parentElem = NULL;
+ if ( element.Parent() )
+ {
+ parentElem = element.Parent()->ToElement();
+ }
+ bool compactMode = parentElem ? CompactMode(*parentElem) : _compactMode;
OpenElement( element.Name(), compactMode );
while ( attribute ) {
PushAttribute( attribute->Name(), attribute->Value() );