summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-03-16 10:18:18 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-03-16 12:36:27 +0100
commitfa1bcc22921941b2cd8a0b32fe0d15655d12d607 (patch)
tree453fd8f819aac46085bc6a6ba299fcf76879b323
parentbada1d6abac201e28d470d1c4e18ab77672fdf01 (diff)
tdf#122894 skipping anchor in column in footnote
a trawl of crash testing document didn't show up another example and it doesn't seem possible to create this scenario directly in out UI Change-Id: Ie65a51bf609e8bacd261f368f0b8037431c116ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112567 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/qa/core/layout/data/tdf122894-4.docbin0 -> 214528 bytes
-rw-r--r--sw/qa/core/layout/layout.cxx5
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.cxx3
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
new file mode 100644
index 000000000000..4ebdb53de04f
--- /dev/null
+++ b/sw/qa/core/layout/data/tdf122894-4.doc
Binary files differ
diff --git a/sw/qa/core/layout/layout.cxx b/sw/qa/core/layout/layout.cxx
index 7c899aa31d63..8db099b6fc1b 100644
--- a/sw/qa/core/layout/layout.cxx
+++ b/sw/qa/core/layout/layout.cxx
@@ -463,6 +463,11 @@ CPPUNIT_TEST_FIXTURE(SwCoreLayoutTest, testVerticallyMergedCellBorder)
}
}
+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 96ea415070c5..1ea4a63fb56c 100644
--- a/sw/source/core/layout/objectformattertxtfrm.cxx
+++ b/sw/source/core/layout/objectformattertxtfrm.cxx
@@ -747,7 +747,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();