Move the check into dependent call
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index f6e2584..cd0ae7e 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -2069,9 +2069,7 @@
 

 void XMLPrinter::OpenElement( const char* name, bool compactMode )

 {

-    if ( _elementJustOpened ) {

-        SealElement();

-    }

+    SealElementIfJustOpened();

     _stack.Push( name );

 

     if ( _textDepth < 0 && !_firstElement && !compactMode ) {

@@ -2155,8 +2153,11 @@
 }

 

 

-void XMLPrinter::SealElement()

+void XMLPrinter::SealElementIfJustOpened()

 {

+    if ( !_elementJustOpened ) {

+        return;

+    }

     _elementJustOpened = false;

     Print( ">" );

 }

@@ -2166,9 +2167,7 @@
 {

     _textDepth = _depth-1;

 

-    if ( _elementJustOpened ) {

-        SealElement();

-    }

+    SealElementIfJustOpened();

     if ( cdata ) {

         Print( "<![CDATA[" );

         Print( "%s", text );

@@ -2221,9 +2220,7 @@
 

 void XMLPrinter::PushComment( const char* comment )

 {

-    if ( _elementJustOpened ) {

-        SealElement();

-    }

+    SealElementIfJustOpened();

     if ( _textDepth < 0 && !_firstElement && !_compactMode) {

         Print( "\n" );

         PrintSpace( _depth );

@@ -2235,9 +2232,7 @@
 

 void XMLPrinter::PushDeclaration( const char* value )

 {

-    if ( _elementJustOpened ) {

-        SealElement();

-    }

+    SealElementIfJustOpened();

     if ( _textDepth < 0 && !_firstElement && !_compactMode) {

         Print( "\n" );

         PrintSpace( _depth );

@@ -2249,9 +2244,7 @@
 

 void XMLPrinter::PushUnknown( const char* value )

 {

-    if ( _elementJustOpened ) {

-        SealElement();

-    }

+    SealElementIfJustOpened();

     if ( _textDepth < 0 && !_firstElement && !_compactMode) {

         Print( "\n" );

         PrintSpace( _depth );