diff options
author | Jan Holesovsky <kendy@suse.cz> | 2013-04-12 13:06:52 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-04-12 13:09:16 +0200 |
commit | bebf8ccfba37f77d6a43c7874249b31736467b17 (patch) | |
tree | 26c7e289be78b2bf77ed672202f1093f1eb5a77a | |
parent | e7808c250f1b82ca9566fc12c4d7de33c58fcb1b (diff) |
i#98430: Import at least the shape.
The image that is inside is dropped though, we do not have support for that in
editeng.
Change-Id: I16dc1656e6f71fd80136bc39233decef4e1d4069
-rw-r--r-- | svx/source/unodraw/unomod.cxx | 8 | ||||
-rw-r--r-- | xmloff/source/text/txtimp.cxx | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/svx/source/unodraw/unomod.cxx b/svx/source/unodraw/unomod.cxx index f8af587091aa..3ae9b269b336 100644 --- a/svx/source/unodraw/unomod.cxx +++ b/svx/source/unodraw/unomod.cxx @@ -49,6 +49,7 @@ #include <svx/svdobj.hxx> #include <svx/svdpage.hxx> #include <svx/unoshape.hxx> +#include <svx/xmlgrhlp.hxx> #include <com/sun/star/text/textfield/Type.hpp> @@ -183,6 +184,13 @@ uno::Reference< uno::XInterface > SAL_CALL SvxUnoDrawMSFactory::createInstance( return uno::Reference< uno::XInterface >( (drawing::XShape*) SvxDrawPage::CreateShapeByTypeAndInventor( nT, nI ) ); } } + else if ( rServiceSpecifier == "com.sun.star.document.ImportGraphicObjectResolver" ) + { + SvXMLGraphicHelper* pGraphicHelper = SvXMLGraphicHelper::Create( GRAPHICHELPER_MODE_READ ); + uno::Reference< uno::XInterface> xRet( static_cast< ::cppu::OWeakObject* >( pGraphicHelper ) ); + pGraphicHelper->release(); + return xRet; + } uno::Reference< uno::XInterface > xRet( createTextField( rServiceSpecifier ) ); if( !xRet.is() ) diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx index fb457b6cf76c..1a4bb7a0adc6 100644 --- a/xmloff/source/text/txtimp.cxx +++ b/xmloff/source/text/txtimp.cxx @@ -1167,8 +1167,12 @@ void XMLTextImportHelper::InsertTextContent( DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); if (m_pImpl->m_xText.is()) { - m_pImpl->m_xText->insertTextContent( - m_pImpl->m_xCursorAsRange, xContent, sal_False); + try { + m_pImpl->m_xText->insertTextContent( m_pImpl->m_xCursorAsRange, xContent, sal_False); + } catch ( const lang::IllegalArgumentException & ) + { + SAL_WARN( "xmloff", "Cannot import part of the text - probably an image in the text frame?" ); + } } } |