sw/qa/extras/layout/data/forcepoint91.html |binary sw/qa/extras/layout/layout.cxx | 6 ++++++ sw/source/core/layout/tabfrm.cxx | 2 ++ 3 files changed, 8 insertions(+)
New commits: commit be04a8072e4af30ca6ead36aa92d5f380cd9feb9 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Mar 25 21:26:43 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Sat Mar 26 11:23:28 2022 +0100 forcepoint#91 fix crash on layout of specific html Change-Id: I145649e18f382c67ea34290f44fa219b7926127f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132129 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/qa/extras/layout/data/forcepoint91.html b/sw/qa/extras/layout/data/forcepoint91.html new file mode 100644 index 000000000000..eacbd2e05ab8 Binary files /dev/null and b/sw/qa/extras/layout/data/forcepoint91.html differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 6a6fea9450c8..a77d11877e5b 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -2509,6 +2509,12 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testForcepoint90) createSwDoc(DATA_DIRECTORY, "forcepoint90.rtf"); } +//just care it doesn't crash/assert +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testForcepoint91) +{ + createSwWebDoc(DATA_DIRECTORY, "forcepoint91.html"); +} + CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf118058) { SwDoc* pDoc = createSwDoc(DATA_DIRECTORY, "tdf118058.fodt"); diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 5231a51991e7..010767ccafb5 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -1617,6 +1617,8 @@ static bool lcl_InnerCalcLayout( SwFrame *pFrame, if ( pFrame->IsLayoutFrame() && ( !_bOnlyRowsAndCells || pFrame->IsRowFrame() || pFrame->IsCellFrame() ) ) { + SwFrameDeleteGuard aDeleteGuard(pFrame); + // #130744# An invalid locked table frame will // not be calculated => It will not become valid => // Loop in lcl_RecalcRow(). Therefore we do not consider them for bRet.