summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-10 17:21:06 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-10-10 21:23:04 +0200
commit1440777eec33f59dc1c8a2fe9e5b46a5fe08da1b (patch)
tree8fefb97beb06cb12d4bf2ed0f247a04aa099f381 /sw
parentb67d9a5db61de3cef2dac072c55bf1dac9a2dc4c (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')
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.cxx1
-rw-r--r--sw/source/core/layout/ssfrm.cxx3
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;
}