n#693238, n#747471: create TableManager for inside shapes
When a texbox is contained inside a table cell... we were running into
some troubles when creating the table: the reference to the paragraphs
inside the textbox were passed to the TableManager. This was leading to
missing references when converting to a table because the paragraph
references within the textbox were dropped.
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 9047784..066416e 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1524,6 +1524,9 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
{
xProps->setPropertyValue( rPropNameSupplier.GetName( PROP_ANCHOR_TYPE ), bIsGraphic ? uno::makeAny( text::TextContentAnchorType_AS_CHARACTER ) : uno::makeAny( text::TextContentAnchorType_AT_PARAGRAPH ) );
}
appendTableManager( );
getTableManager().startLevel();
}
catch ( const uno::Exception& e )
{
@@ -1537,6 +1540,9 @@ void DomainMapper_Impl::PopShapeContext()
{
if ( m_aAnchoredStack.size() > 0 )
{
getTableManager().endLevel();
popTableManager();
// For OLE object replacement shape, the text append context was already removed
// or the OLE object couldn't be inserted.
if ( !m_aAnchoredStack.top().bToRemove )