diff options
-rw-r--r-- | sw/qa/core/layout/data/tdf122894-4.doc | bin | 0 -> 214528 bytes | |||
-rw-r--r-- | sw/qa/core/layout/layout.cxx | 5 | ||||
-rw-r--r-- | sw/source/core/layout/objectformattertxtfrm.cxx | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/sw/qa/core/layout/data/tdf122894-4.doc b/sw/qa/core/layout/data/tdf122894-4.doc Binary files differnew file mode 100644 index 000000000000..4ebdb53de04f --- /dev/null +++ b/sw/qa/core/layout/data/tdf122894-4.doc diff --git a/sw/qa/core/layout/layout.cxx b/sw/qa/core/layout/layout.cxx index e9f1d22bd70b..3f6199f8dd01 100644 --- a/sw/qa/core/layout/layout.cxx +++ b/sw/qa/core/layout/layout.cxx @@ -260,6 +260,11 @@ CPPUNIT_TEST_FIXTURE(SwCoreLayoutTest, testKeepwithnextFullheight) assertXPath(pXmlDoc, "//page[2]/body/txt/anchored/fly", 1); } +CPPUNIT_TEST_FIXTURE(SwCoreLayoutTest, testCrashRemoveFromLayout) +{ + load(DATA_DIRECTORY, "tdf122894-4.doc"); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/layout/objectformattertxtfrm.cxx b/sw/source/core/layout/objectformattertxtfrm.cxx index bf066909251f..98e374a7e5fb 100644 --- a/sw/source/core/layout/objectformattertxtfrm.cxx +++ b/sw/source/core/layout/objectformattertxtfrm.cxx @@ -748,7 +748,8 @@ void SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs( SwTextFrame& _rAn // format the content of the previous columns. // Note: It's a very simple format without formatting objects. SwFrame* pColFrameOfAnchor = _rAnchorTextFrame.FindColFrame(); - if ( pColFrameOfAnchor ) + SAL_WARN_IF(pColFrameOfAnchor && _rAnchorTextFrame.IsInFootnote(), "sw.layout", "tdf#122894 skipping anchor in column in footnote"); + if (pColFrameOfAnchor && !_rAnchorTextFrame.IsInFootnote()) { // #i44049# _rAnchorTextFrame.LockJoin(); |