diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-07-06 14:07:45 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-07-06 21:18:27 +0200 |
commit | 972fbddf80510f7daaf2128dbfda01c0e7535020 (patch) | |
tree | 48c0b4c404509df31649224073bb789197666cd3 /sw/qa | |
parent | 2de270e4fd0ab96691b251b38caf71b3fc87574d (diff) |
i#61225 sw: fix layout loop with growable single-column sections
Commit 6ade80cf142664e78954c7544534e9436ceb90c7 (tdf#108524 sw: allow
move of frame inside section without columns, 2017-06-16) relaxed
lcl_IsInSectionDirectly() used in SwFrame::IsMoveable() to allow move
for all section frame contents if it has a single column. That looked
safe, as the multiple column case was already allowed.
There is one situation where this still causes a problem: when the
section has a single column and the section frame is growable -- as in
that case we should grow the section frame, not move the contents.
So go back to unconditionally allowing multi-column section contents and
allow single-column section contents only in case the section frame is
now growable.
With this, ooo61225-1.sxw from the crashtesting corpus can be opened
again without a layout loop.
Change-Id: Ib2d3702a33da8e62b9bbf468d558ae16db8aa94b
Reviewed-on: https://gerrit.libreoffice.org/39653
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/odfimport/data/i61225.sxw | bin | 0 -> 53844 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/odfimport.cxx | 8 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sw/qa/extras/odfimport/data/i61225.sxw b/sw/qa/extras/odfimport/data/i61225.sxw Binary files differnew file mode 100644 index 000000000000..4f43541995c3 --- /dev/null +++ b/sw/qa/extras/odfimport/data/i61225.sxw diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index 06f2bf7f8a9c..a105bd658179 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -800,5 +800,13 @@ DECLARE_ODFIMPORT_TEST(testTdf100033_2, "tdf100033_2.odt") CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xIndexAccess->getCount()); } +DECLARE_ODFIMPORT_TEST(testI61225, "i61225.sxw") +{ + // Part of ooo61225-1.sxw from crashtesting. + + // This never returned. + calcLayout(); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |