diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-10-10 17:21:06 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-10-10 21:23:04 +0200 |
commit | 1440777eec33f59dc1c8a2fe9e5b46a5fe08da1b (patch) | |
tree | 8fefb97beb06cb12d4bf2ed0f247a04aa099f381 /sw/source | |
parent | b67d9a5db61de3cef2dac072c55bf1dac9a2dc4c (diff) |
forcepoint#74 crash in layout
Change-Id: Iad5770b512d7c49483ac823aa4f51212f281bbca
Reviewed-on: https://gerrit.libreoffice.org/61628
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/layout/objectformattertxtfrm.cxx | 1 | ||||
-rw-r--r-- | sw/source/core/layout/ssfrm.cxx | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sw/source/core/layout/objectformattertxtfrm.cxx b/sw/source/core/layout/objectformattertxtfrm.cxx index 341c7845a10e..8e73cfc2a2f9 100644 --- a/sw/source/core/layout/objectformattertxtfrm.cxx +++ b/sw/source/core/layout/objectformattertxtfrm.cxx @@ -702,6 +702,7 @@ void SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs( SwTextFrame& _rAn } if ( pSectFrame && pSectFrame->IsSctFrame() ) { + SwFrameDeleteGuard aDeleteGuard(&_rAnchorTextFrame); // #i44049# _rAnchorTextFrame.LockJoin(); SwFrame* pFrame = pSectFrame->GetUpper()->GetLower(); diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx index 8550f4a7f4f6..47e5b598b99b 100644 --- a/sw/source/core/layout/ssfrm.cxx +++ b/sw/source/core/layout/ssfrm.cxx @@ -517,6 +517,9 @@ void SwLayoutFrame::DestroyImpl() } } pFrame->RemoveFromLayout(); + //forcepoint#74, testcase swanchoredobject_considerobjwrapinfluenceonobjpos + if (pFrame->IsDeleteForbidden()) + throw std::logic_error("DeleteForbidden"); SwFrame::DestroyFrame(pFrame); pFrame = m_pLower; } |