diff options
Diffstat (limited to 'writerfilter/source/dmapper/GraphicImport.cxx')
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index e9826192143c..d6745f2dc162 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -1080,10 +1080,12 @@ void GraphicImport::lcl_sprm(Sprm& rSprm) break; case NS_ooxml::LN_CT_SizeRelH_pctWidth: case NS_ooxml::LN_CT_SizeRelV_pctHeight: - if (m_xShape.is() && !m_pImpl->m_rPositivePercentages.empty()) + if (m_pImpl->m_rPositivePercentages.empty()) + break; + + if (m_xShape.is()) { sal_Int16 nPositivePercentage = rtl::math::round(m_pImpl->m_rPositivePercentages.front().toDouble() / oox::drawingml::PER_PERCENT); - m_pImpl->m_rPositivePercentages.pop(); if (nPositivePercentage) { @@ -1092,6 +1094,10 @@ void GraphicImport::lcl_sprm(Sprm& rSprm) xPropertySet->setPropertyValue(aProperty, uno::makeAny(nPositivePercentage)); } } + + // Make sure the token is consumed even if xShape is an empty + // reference. + m_pImpl->m_rPositivePercentages.pop(); break; case NS_ooxml::LN_EG_WrapType_wrapNone: // 90944; - doesn't contain attributes //depending on the behindDoc attribute text wraps through behind or in front of the object |