Merge pull request #116 from ardovm/bug127952

[writerfilter] Add checks for non-empty stacks

(cherry picked from commit 477f4cf4ef09b35cfc4e99137827b734eae2c292)
(cherry picked from commit cd64ceffdfea81aece1f071877a4f5321cacbcfa)
diff --git a/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index 4ffc994..37c3896 100644
--- a/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/main/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -334,13 +334,25 @@
 
 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 13a5499..68f1d04 100644
--- a/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -301,8 +301,10 @@
         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();