summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/source/core/access/accmap.cxx4
-rw-r--r--sw/source/core/layout/ssfrm.cxx6
2 files changed, 3 insertions, 7 deletions
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index b3f2c54136f2..2d3cf8337cfd 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -2263,7 +2263,9 @@ void SwAccessibleMap::Dispose( const SwFrm *pFrm,
OSL_ENSURE( !aFrmOrObj.GetSwFrm() || aFrmOrObj.GetSwFrm()->IsAccessibleFrm(),
"non accessible frame should be disposed" );
- if( aFrmOrObj.IsAccessible( GetShell()->IsPreview() ) )
+ if (aFrmOrObj.IsAccessible( GetShell()->IsPreview() )
+ // fdo#87199 dispose the darn thing if it ever was accessible
+ || (pFrm && mpFrmMap && mpFrmMap->find(pFrm) != mpFrmMap->end()))
{
::rtl::Reference< SwAccessibleContext > xAccImpl;
::rtl::Reference< SwAccessibleContext > xParentAccImpl;
diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx
index a4a90c004693..10ca392e10bf 100644
--- a/sw/source/core/layout/ssfrm.cxx
+++ b/sw/source/core/layout/ssfrm.cxx
@@ -367,12 +367,6 @@ void SwFrm::Destroy()
delete mpDrawObjs;
mpDrawObjs = 0;
}
-
- SwLayoutFrm *pFrm = GetUpper();
- if (pFrm && pFrm->m_pLower == this)
- {
- pFrm->m_pLower = nullptr;
- }
}
SwFrm::~SwFrm()