diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-29 21:24:26 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2016-07-30 21:35:22 +0000 |
commit | a63b63f59f83c81efc7c6d5c33da421bddaec62a (patch) | |
tree | d5c3099498074bf55cef323d3d2dcfb7514a5478 | |
parent | c0af6d6dac1f0b9d99d7ecec92e4f3377979a475 (diff) |
fftester: another empty table manager stack
Change-Id: If3148cb6e16cff4aad28c4f86467c66ed04bcd05
(cherry picked from commit d00fc303bca7765762a602531b7d3b40ce8f1740)
Reviewed-on: https://gerrit.libreoffice.org/27704
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf | bin | 0 -> 121 bytes | |||
-rw-r--r-- | writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf | bin | 0 -> 54 bytes | |||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 9 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 7 |
4 files changed, 10 insertions, 6 deletions
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf Binary files differnew file mode 100644 index 000000000000..58328edc97db --- /dev/null +++ b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf Binary files differnew file mode 100644 index 000000000000..9fd58921468a --- /dev/null +++ b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index d0ffaa89657a..26fcb1f900b2 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -195,7 +195,7 @@ DomainMapper::~DomainMapper() void DomainMapper::lcl_attribute(Id nName, Value & val) { - if (m_pImpl->getTableManager().attribute(nName, val)) + if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().attribute(nName, val)) return; static const int nSingleLineSpacing = 240; @@ -396,7 +396,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) else aSpacing.Height = sal_Int16(ConversionHelper::convertTwipToMM100( nIntValue )); - if( m_pImpl->getTableManager().isInCell() ) + if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().isInCell()) { // direct formatting is applied for table cell data TablePropertyMapPtr pTblCellWithDirectFormatting(new TablePropertyMap); @@ -425,7 +425,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) aSpacing.Mode = style::LineSpacingMode::FIX; } - if( m_pImpl->getTableManager().isInCell() ) + if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().isInCell()) { // If the table manager got the line rule after // ooxml::CT_Spacing_line, then it should get the rule @@ -2884,7 +2884,8 @@ void DomainMapper::lcl_endShape( ) // empty paragraph at the end of the shape text will cause problems: if // the shape text ends with a table, the extra paragraph will be // handled as an additional row of the ending table. - m_pImpl->getTableManager().endTable(); + if (m_pImpl->hasTableManager()) + m_pImpl->getTableManager().endTable(); lcl_endParagraphGroup(); m_pImpl->PopShapeContext( ); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 6b8176ffdf18..2f71e5319051 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2019,8 +2019,11 @@ void DomainMapper_Impl::UpdateEmbeddedShapeProps(const uno::Reference< drawing:: void DomainMapper_Impl::PopShapeContext() { - getTableManager().endLevel(); - popTableManager(); + if (hasTableManager()) + { + getTableManager().endLevel(); + popTableManager(); + } if ( m_aAnchoredStack.size() > 0 ) { // For OLE object replacement shape, the text append context was already removed |