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();
 

Reply via email to