SVG: debugging svg export

Chr. Rossmanith ChrRossmanith at
Tue Feb 28 13:36:40 PST 2012


I'm currently debugging SVGFilter::implExportPages() especially around 
line 1336

                     // In case we are dealing with a master page we need to to group all its shapes

                     // into a group element, this group will make up the so named "background objects"

                     if( bMaster )


                         // background objects id = "bo-" + page id

                         OUString sBackgroundObjectsId = B2UCONST( "bo-" );

                         sBackgroundObjectsId += sPageId;

                         mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", sBackgroundObjectsId );

                         if( i == nVisiblePage&&  mVisiblePagePropSet.bAreBackgroundObjectsVisible )

                             aAttrVisibilityValue = B2UCONST( "visible" );


                             aAttrVisibilityValue = B2UCONST( "hidden" );

                         mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "visibility", aAttrVisibilityValue );

                         mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class",  B2UCONST( "BackgroundObjects" ) );

                         // insert the<g>  open tag related to the Background Objects

  **                     SvXMLElementExport aExp2( *mpSVGExport, XML_NAMESPACE_NONE, "g", sal_True, sal_True );

                         // append all shapes that make up the Master Slide

                         bRet = implExportShapes( xShapes ) || bRet;

                     }   // append the</g>  closing tag related to the Background Objects

The tag opened in the line marked with ** is never closed. (It should be 
closed by the destructor.) I've tested the export with a drawing 
containing a single letter 'a' and in that case there are no background 
objects. So maybe testing if xShapes has no shapes could avoid exporting 
an empty block? But how would I test if xShapes has any shapes?

Any hint concerning the never called destructor for aExp2 and retrieving 
information from xShapes is welcome.


More information about the LibreOffice mailing list