summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-04-15 20:37:52 +0200
committerPetr Mladek <pmladek@suse.cz>2013-04-16 09:25:01 +0000
commitdfe4974119bcd17fa65a5f0600fd12af02425c56 (patch)
tree21a3538542e589c2343543483a3da7814025f50b /writerfilter
parenteb5a62e4f435e8f8bc79b308f12ec8ed43853200 (diff)
fdo#61193 fix crash on RTF paste of footnote
Regression from 232ad2f2588beff50cb5c1f3b689c581ba317583. (cherry picked from commit e7664052d6693598e773f4c9dd6b819213d80d60) Change-Id: Ia0873851979df5bba0a4693f044aab2aeff2b8e4 Reviewed-on: https://gerrit.libreoffice.org/3404 Reviewed-by: Petr Mladek <pmladek@suse.cz> Tested-by: Petr Mladek <pmladek@suse.cz>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 6074add28f9b..deda4f16ebb4 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -726,6 +726,8 @@ void lcl_AddRangeAndStyle(
void DomainMapper_Impl::CheckUnregisteredFrameConversion( )
{
PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier();
+ if (m_aTextAppendStack.empty())
+ return;
TextAppendContext& rAppendContext = m_aTextAppendStack.top();
// n#779642: ignore fly frame inside table as it could lead to messy situations
if( rAppendContext.pLastParagraphProperties.get() && rAppendContext.pLastParagraphProperties->IsFrameMode()
@@ -969,6 +971,8 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap )
#endif
ParagraphPropertyMap* pParaContext = dynamic_cast< ParagraphPropertyMap* >( pPropertyMap.get() );
+ if (!m_aTextAppendStack.size())
+ return;
TextAppendContext& rAppendContext = m_aTextAppendStack.top();
uno::Reference< text::XTextAppend > xTextAppend;
if (!m_aTextAppendStack.empty())
@@ -1453,14 +1457,14 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote )
}
appendTextContent( uno::Reference< text::XTextContent >( xFootnoteText, uno::UNO_QUERY_THROW ), aFontProperties );
m_aTextAppendStack.push(TextAppendContext(uno::Reference< text::XTextAppend >( xFootnoteText, uno::UNO_QUERY_THROW ),
- m_bIsNewDoc ? uno::Reference<text::XTextCursor>() : m_xBodyText->createTextCursorByRange(xFootnoteText->getStart())));
+ m_bIsNewDoc ? uno::Reference<text::XTextCursor>() : xFootnoteText->createTextCursorByRange(xFootnoteText->getStart())));
// Redlines for the footnote anchor
CheckRedline( xFootnote->getAnchor( ) );
}
- catch( const uno::Exception& )
+ catch( const uno::Exception& e )
{
- OSL_FAIL( "exception in PushFootOrEndnote" );
+ SAL_WARN("writerfilter", "exception in PushFootOrEndnote: " << e.Message);
}
}