summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/ooxmlexport/data/fdo70812.docxbin0 -> 5530 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport.cxx6
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx9
3 files changed, 12 insertions, 3 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/fdo70812.docx b/sw/qa/extras/ooxmlexport/data/fdo70812.docx
new file mode 100644
index 000000000000..b9b5d52c2086
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/fdo70812.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index f96095db8c9e..cb379bbd8c32 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -1562,6 +1562,12 @@ DECLARE_OOXML_TEST(testCp1000015, "cp1000015.odt")
getParagraph(2, "http://www.google.com/");
}
+DECLARE_OOXML_TEST(testFdo70812, "fdo70812.docx")
+{
+ // Import just crashed.
+ getParagraph(1, "Sample pages document.");
+}
+
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index d2474bbc849c..8a3f58976f5c 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1635,7 +1635,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
//style sheets cannot have a numbering rule attached
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetListLevel( (sal_Int16)nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetListLevel( (sal_Int16)nIntValue );
}
else
rContext->Insert( PROP_NUMBERING_LEVEL, uno::makeAny( (sal_Int16)nIntValue ));
@@ -1649,7 +1650,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
//style sheets cannot have a numbering rule attached
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetListId( nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetListId( nIntValue );
}
if( pList.get( ) )
{
@@ -1667,7 +1669,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
// set the number id for AbstractNum references
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetNumId( nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetNumId( nIntValue );
}
else
{