Kaydet (Commit) df71f13b authored tarafından David Tardon's avatar David Tardon

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

Change-Id: I5cbf4ed0683cc5736a45fb980827b1b56bd0c74c
üst 32be757c
...@@ -1008,6 +1008,8 @@ void SdDrawDocument::InitLayoutVector() ...@@ -1008,6 +1008,8 @@ void SdDrawDocument::InitLayoutVector()
const Reference<XDocumentBuilder> xDocBuilder( const Reference<XDocumentBuilder> xDocBuilder(
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) )); DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
try
{
// loop over every layout entry in current file // loop over every layout entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename ); const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout"); const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
...@@ -1015,6 +1017,11 @@ void SdDrawDocument::InitLayoutVector() ...@@ -1015,6 +1017,11 @@ void SdDrawDocument::InitLayoutVector()
for(int index=0; index < nElements; index++) for(int index=0; index < nElements; index++)
maLayoutInfo.push_back( layoutlist->item(index) ); maLayoutInfo.push_back( layoutlist->item(index) );
} }
catch (const uno::Exception &)
{
// skip missing config. files
}
}
} }
void SdDrawDocument::InitObjectVector() void SdDrawDocument::InitObjectVector()
...@@ -1037,6 +1044,8 @@ void SdDrawDocument::InitObjectVector() ...@@ -1037,6 +1044,8 @@ void SdDrawDocument::InitObjectVector()
const Reference<XDocumentBuilder> xDocBuilder( const Reference<XDocumentBuilder> xDocBuilder(
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) )); DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
try
{
// loop over every object entry in current file // loop over every object entry in current file
const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename ); const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object"); const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
...@@ -1044,5 +1053,10 @@ void SdDrawDocument::InitObjectVector() ...@@ -1044,5 +1053,10 @@ void SdDrawDocument::InitObjectVector()
for(int index=0; index < nElements; index++) for(int index=0; index < nElements; index++)
maPresObjectInfo.push_back( objectlist->item(index) ); maPresObjectInfo.push_back( objectlist->item(index) );
} }
catch (const uno::Exception &)
{
// skip missing config. files
}
}
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment