rhbz#1071604 don't crash if slide layout configs are missing

Change-Id: I5cbf4ed0683cc5736a45fb980827b1b56bd0c74c
This commit is contained in:
David Tardon
2014-05-09 13:07:33 +02:00
parent 32be757cc3
commit df71f13b80

View File

@@ -1008,12 +1008,19 @@ void SdDrawDocument::InitLayoutVector()
const Reference<XDocumentBuilder> xDocBuilder(
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
// loop over every layout entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
const int nElements = layoutlist->getLength();
for(int index=0; index < nElements; index++)
maLayoutInfo.push_back( layoutlist->item(index) );
try
{
// loop over every layout entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
const int nElements = layoutlist->getLength();
for(int index=0; index < nElements; index++)
maLayoutInfo.push_back( layoutlist->item(index) );
}
catch (const uno::Exception &)
{
// skip missing config. files
}
}
}
@@ -1037,12 +1044,19 @@ void SdDrawDocument::InitObjectVector()
const Reference<XDocumentBuilder> xDocBuilder(
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
// loop over every object entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
const int nElements = objectlist->getLength();
for(int index=0; index < nElements; index++)
maPresObjectInfo.push_back( objectlist->item(index) );
try
{
// loop over every object entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
const int nElements = objectlist->getLength();
for(int index=0; index < nElements; index++)
maPresObjectInfo.push_back( objectlist->item(index) );
}
catch (const uno::Exception &)
{
// skip missing config. files
}
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */