tdf#121005 forcepoint#44 merge into isDeleteForbidden

Reviewed-on: https://gerrit.libreoffice.org/55355
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit c6222fb6b8b429fa2e767c73ad616147f95ab1b9)

Change-Id: If7ce44786975c5f9bdc9e64d16274728b03bed32
Reviewed-on: https://gerrit.libreoffice.org/62629
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
diff --git a/sw/qa/core/data/ww8/fail/forcepoint-44.doc b/sw/qa/core/data/ww8/fail/forcepoint-44.doc
new file mode 100644
index 0000000..100422a
--- /dev/null
+++ b/sw/qa/core/data/ww8/fail/forcepoint-44.doc
Binary files differ
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index ac6c74f..f3b8031 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -1238,6 +1238,8 @@ namespace
{
    bool isDeleteForbidden(const SwPageFrame *pDel)
    {
        if (pDel->IsDeleteForbidden())
            return true;
        const SwLayoutFrame* pBody = pDel->FindBodyCont();
        const SwFrame* pBodyContent = pBody ? pBody->Lower() : nullptr;
        return pBodyContent && pBodyContent->IsDeleteForbidden();
@@ -1265,8 +1267,6 @@ namespace
             !pSibling->FindFirstBodyContent() &&
             (!pRefPage || !isDeleteForbidden(pSibling)) )
        {
            if (pSibling->IsDeleteForbidden())
                throw uno::RuntimeException("bad layout");
            pRoot->RemovePage( pRefSibling, SwRemoveResult::Next ) ;
            return false;
        }