sw/qa/extras/odfimport/data/tdf146597.odt |binary sw/qa/extras/odfimport/odfimport.cxx | 6 ++++++ sw/source/core/draw/dcontact.cxx | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-)
New commits: commit d691e9ef4d77cf5e46aec288d5efcf9291534352 Author: Attila Bakos (NISZ) <bakos.attilakar...@nisz.hu> AuthorDate: Thu Feb 24 09:51:15 2022 +0100 Commit: László Németh <nem...@numbertext.org> CommitDate: Thu Mar 10 13:34:41 2022 +0100 tdf#146597 sw: fix freezing with GroupShape in case it is anchored to character and wrap is none. Regression from 8da3586cff9cc11cf5db985d19851f21f0d42eb8 "tdf#141220 sw: fix textbox popped out of off-page shape". Note: This is a backport-compatible fix made also for the 7.3 backport. There will be a less urgent 7.4-only fix for its unresolved group case soon. Change-Id: I421c85e2dd16ad2649bc299fc4733d462be8d7b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130478 Tested-by: László Németh <nem...@numbertext.org> Reviewed-by: László Németh <nem...@numbertext.org> (cherry picked from commit e835c2c0d3aff4f1ee5d29c9eaf36400b1aca6a7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130456 Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130715 Reviewed-by: Attila Bakos <bakos.attilakar...@nisz.hu> diff --git a/sw/qa/extras/odfimport/data/tdf146597.odt b/sw/qa/extras/odfimport/data/tdf146597.odt new file mode 100644 index 000000000000..6dcc379cef4d Binary files /dev/null and b/sw/qa/extras/odfimport/data/tdf146597.odt differ diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index bd936937475d..c1ec472f405d 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -1322,5 +1322,11 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf146257) } } +CPPUNIT_TEST_FIXTURE(Test, testTdf146597) +{ + load(mpTestDocumentPath, "tdf146597.odt"); + // This was creashed before. +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx index ad377073a58e..e4d2450629c8 100644 --- a/sw/source/core/draw/dcontact.cxx +++ b/sw/source/core/draw/dcontact.cxx @@ -1338,7 +1338,10 @@ void SwDrawContact::Changed_( const SdrObject& rObj, // tdf#135198: keep text box together with its shape const SwPageFrame* rPageFrame = pAnchoredDrawObj->GetPageFrame(); - if (rPageFrame && rPageFrame->isFrameAreaPositionValid()) + auto pFormat = GetFormat(); + if (rPageFrame && rPageFrame->isFrameAreaPositionValid() && pFormat + && (SwTextBoxHelper::isTextBox(pFormat, RES_FLYFRMFMT) || + SwTextBoxHelper::isTextBox(pFormat, RES_DRAWFRMFMT))) { SwDoc* const pDoc = GetFormat()->GetDoc();