diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-05-18 14:25:11 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-05-18 15:50:03 +0100 |
commit | 7cb8d59769d7f37157929a4176a8f16f6d4610e8 (patch) | |
tree | 9848594f9026c352d7054e15fd0a35cbd043cf4e /sw | |
parent | ecb6931da61d73a9ac17aabed8f94cf74000edfa (diff) |
don't assert on export of ooo74510-1.odt to .docx
the math object is broken in the original .odt so we can't export its contents
as it doesn't have any
Change-Id: I8226cafed65b9e16a4aca6f48a4f711a55532975
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 986f3335fd7b..c7d42c0dcb9c 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -4392,6 +4392,11 @@ void DocxAttributeOutput::WritePostponedMath(const SwOLENode* pPostponedMath) { uno::Reference < embed::XEmbeddedObject > xObj(const_cast<SwOLENode*>(pPostponedMath)->GetOLEObj().GetOleRef()); uno::Reference< uno::XInterface > xInterface( xObj->getComponent(), uno::UNO_QUERY ); + if (!xInterface.is()) + { + SAL_WARN("sw.ww8", "Broken math object"); + return; + } // gcc4.4 (and 4.3 and possibly older) have a problem with dynamic_cast directly to the target class, // so help it with an intermediate cast. I'm not sure what exactly the problem is, seems to be unrelated // to RTLD_GLOBAL, so most probably a gcc bug. |