sw/qa/extras/odfimport/data/tdf165156.odt |binary sw/qa/extras/odfimport/odfimport.cxx | 7 +++++++ sw/source/core/layout/tabfrm.cxx | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-)
New commits: commit a9bf303dfb348265edf7c2c61fc3b8a6511fd5df Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sun Jul 13 17:27:09 2025 +0500 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Jul 14 14:48:18 2025 +0200 tdf#165156: limit hack for tdf#161508 even more Make oscillation detection only happen when !bSplitError, to not interfere with handling of the latter. Change-Id: I6c54e5026ba700522121f36a3e4fc5b91c37b2e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187801 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins (cherry picked from commit 8946628f0ce28d111c9dfcfbd73e30afac32c157) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187841 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/qa/extras/odfimport/data/tdf165156.odt b/sw/qa/extras/odfimport/data/tdf165156.odt new file mode 100644 index 000000000000..060b3a7598a8 Binary files /dev/null and b/sw/qa/extras/odfimport/data/tdf165156.odt differ diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index f0f1905fd232..eac93ea1a926 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -1676,6 +1676,13 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf167329) // This must succeed } +CPPUNIT_TEST_FIXTURE(Test, testTdf165156) +{ + // This used to hang after loading + createSwDoc("tdf165156.odt"); + // This must succeed +} + } // end of anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index c3fffa454f47..31d778f06692 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -3129,7 +3129,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) // to nDeadLine may not be enough. // tdf#161508 hack: treat oscillation likewise if ((bSplitError && bTryToSplit) // no restart if we did not try to split: i72847, i79426 - || posSizeOscillationControl.OscillationDetected(*this)) + || (!bSplitError && posSizeOscillationControl.OscillationDetected(*this))) { lcl_RecalcRow(*static_cast<SwRowFrame*>(Lower()), LONG_MAX); setFrameAreaPositionValid(false);