Kaydet (Commit) 35e95414 authored tarafından Miklos Vajna's avatar Miklos Vajna

sw HTML export: don't crash on embedded object without native data

Change-Id: I26fa823b987b2edfbb1be054a5f4d03bbe95a308
üst d71aff6c
...@@ -425,6 +425,7 @@ certain functionality. ...@@ -425,6 +425,7 @@ certain functionality.
@li @c sw.uno - Writer UNO interfaces @li @c sw.uno - Writer UNO interfaces
@li @c sw.ww8 - .doc/.docx export filter, .doc import filter (not writerfilter) @li @c sw.ww8 - .doc/.docx export filter, .doc import filter (not writerfilter)
@li @c sw.ww8.level2 - further info for sw.ww8 @li @c sw.ww8.level2 - further info for sw.ww8
@li @c sw.html - Writer HTML import/export
@section writerfilter @section writerfilter
......
...@@ -1268,14 +1268,15 @@ Writer& OutHTML_FrmFmtOLENodeGrf( Writer& rWrt, const SwFrmFmt& rFrmFmt, ...@@ -1268,14 +1268,15 @@ Writer& OutHTML_FrmFmtOLENodeGrf( Writer& rWrt, const SwFrmFmt& rFrmFmt,
uno::Reference<text::XTextContent> xTextContent = SwXTextEmbeddedObject::CreateXTextEmbeddedObject(*rHTMLWrt.pDoc, const_cast<SwFrmFmt*>(&rFrmFmt)); uno::Reference<text::XTextContent> xTextContent = SwXTextEmbeddedObject::CreateXTextEmbeddedObject(*rHTMLWrt.pDoc, const_cast<SwFrmFmt*>(&rFrmFmt));
uno::Reference<document::XEmbeddedObjectSupplier2> xEmbeddedObjectSupplier(xTextContent, uno::UNO_QUERY); uno::Reference<document::XEmbeddedObjectSupplier2> xEmbeddedObjectSupplier(xTextContent, uno::UNO_QUERY);
uno::Reference<frame::XStorable> xStorable(xEmbeddedObjectSupplier->getEmbeddedObject(), uno::UNO_QUERY); uno::Reference<frame::XStorable> xStorable(xEmbeddedObjectSupplier->getEmbeddedObject(), uno::UNO_QUERY);
SAL_WARN_IF(!xStorable.is(), "sw.html", "OutHTML_FrmFmtOLENodeGrf: no embedded object");
// Figure out what is the filter name of the embedded object. // Figure out what is the filter name of the embedded object.
uno::Reference<lang::XServiceInfo> xServiceInfo(xStorable, uno::UNO_QUERY); uno::Reference<lang::XServiceInfo> xServiceInfo(xStorable, uno::UNO_QUERY);
OUString aFilter; OUString aFilter;
if (xServiceInfo->supportsService("com.sun.star.sheet.SpreadsheetDocument")) if (xServiceInfo.is() && xServiceInfo->supportsService("com.sun.star.sheet.SpreadsheetDocument"))
aFilter = "HTML (StarCalc)"; aFilter = "HTML (StarCalc)";
if (!aFilter.isEmpty()) if (xStorable.is() && !aFilter.isEmpty())
{ {
SvMemoryStream aStream; SvMemoryStream aStream;
uno::Reference<io::XOutputStream> xOutputStream(new utl::OStreamWrapper(aStream)); uno::Reference<io::XOutputStream> xOutputStream(new utl::OStreamWrapper(aStream));
......
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