This is an automated email from the ASF dual-hosted git repository. jim pushed a commit to branch AOO42X in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/AOO42X by this push: new cd64cef Merge pull request #116 from ardovm/bug127952 cd64cef is described below commit cd64ceffdfea81aece1f071877a4f5321cacbcfa Author: Jim Jagielski <j...@apache.org> AuthorDate: Fri Jan 8 06:11:47 2021 -0500 Merge pull request #116 from ardovm/bug127952 [writerfilter] Add checks for non-empty stacks (cherry picked from commit 477f4cf4ef09b35cfc4e99137827b734eae2c292) --- .../source/dmapper/DomainMapperTableManager.cxx | 24 ++++++++++++++++------ .../source/dmapper/DomainMapper_Impl.cxx | 6 ++++-- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx index 32e2917..5ce0744 100644 --- a/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -334,13 +334,25 @@ void DomainMapperTableManager::pushStackOfMembers() void DomainMapperTableManager::popStackOfMembers() { - m_nCellCounterForCurrentRow.pop(); - m_nCurrentCellBorderIndex.pop(); - m_nCurrentHeaderRepeatCount.pop(); - m_nTableWidthOfCurrentTable.pop(); + if (!m_nCellCounterForCurrentRow.empty()) { + m_nCellCounterForCurrentRow.pop(); + } + if (!m_nCurrentCellBorderIndex.empty()) { + m_nCurrentCellBorderIndex.pop(); + } + if (!m_nCurrentHeaderRepeatCount.empty()) { + m_nCurrentHeaderRepeatCount.pop(); + } + if (!m_nTableWidthOfCurrentTable.empty()) { + m_nTableWidthOfCurrentTable.pop(); + } - m_aTableGrid.pop(); - m_aGridSpans.pop(); + if (!m_aTableGrid.empty()) { + m_aTableGrid.pop(); + } + if (!m_aGridSpans.empty()) { + m_aGridSpans.pop(); + } } diff --git a/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx index b91469a..3f6cdd8 100644 --- a/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -325,8 +325,10 @@ void DomainMapper_Impl::PopProperties(ContextType eId) m_pLastSectionContext = m_aPropertyStacks[eId].top( ); } - m_aPropertyStacks[eId].pop(); - m_aContextStack.pop(); + if (!m_aPropertyStacks[eId].empty()) { + m_aPropertyStacks[eId].pop(); + m_aContextStack.pop(); + } if(!m_aContextStack.empty() && !m_aPropertyStacks[m_aContextStack.top()].empty()) m_pTopContext = m_aPropertyStacks[m_aContextStack.top()].top();