summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/layout/flowfrm.cxx1
-rw-r--r--sw/source/core/layout/wsfrm.cxx7
2 files changed, 6 insertions, 2 deletions
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index 772d4cc8a918..d517103922d6 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -587,6 +587,7 @@ void SwFlowFrame::MoveSubTree( SwLayoutFrame* pParent, SwFrame* pSibling )
//SwSectionFrame::MergeNext removing the pParent we're trying to reparent
//into
FlowFrameJoinLockGuard aJoinGuard(pParent);
+ SwFrameDeleteGuard aDeleteGuard(pParent);
pOldParent = CutTree( &m_rThis );
bInvaLay = PasteTree( &m_rThis, pParent, pSibling, pOldParent );
}
diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx
index b62012d76dae..ec8d94b1c56a 100644
--- a/sw/source/core/layout/wsfrm.cxx
+++ b/sw/source/core/layout/wsfrm.cxx
@@ -963,8 +963,11 @@ void SwContentFrame::Cut()
if( pTmp )
pTmp->InvalidatePrt_();
}
- pUp->Cut();
- SwFrame::DestroyFrame(pUp);
+ if (!pUp->IsDeleteForbidden())
+ {
+ pUp->Cut();
+ SwFrame::DestroyFrame(pUp);
+ }
}
else
{