sw/source/core/doc/docbm.cxx |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 46268343a49b8c14f89b3ef0a2f1f4260ff7a490
Author:     Michael Stahl <michael.st...@allotropia.de>
AuthorDate: Wed Apr 20 15:04:47 2022 +0200
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Tue Apr 26 11:09:37 2022 +0200

    tdf#147723 sw_fieldmarkhide: fix crash when copying multiple fieldmarks
    
    The problem is the UpdateFramesForAddDeleteRedline() call in makeMark(),
    this is called in a loop for multiple fieldmarks and when it's called
    for the first one, of course the other ones aren't in the document yet,
    so HideIterator::Next() can't find them.
    
    But this is only needed when inserting a new fieldmark anyway, so just
    disable for copying.
    
    (regression from commit 92384a813176b964a67bcbeb2fa617c554dbc4a2)
    
    Change-Id: Ic1b34d469a553cf7bbf2d1a99edaea900bdd7417
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133215
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit 2f726fa41cbd249f2fb30222b29d5f30bce52e6e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133148
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 93234133477d5f3268ffd441b1e2b7758c809dd4)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133274
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    Tested-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 35d016c93ac0..e3c87f5ea065 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -687,8 +687,9 @@ namespace sw::mark
                 // no special array for these
                 break;
         }
-        if (eType == IDocumentMarkAccess::MarkType::TEXT_FIELDMARK
-            || eType == IDocumentMarkAccess::MarkType::DATE_FIELDMARK)
+        if (eMode == InsertMode::New
+            && (eType == IDocumentMarkAccess::MarkType::TEXT_FIELDMARK
+                || eType == IDocumentMarkAccess::MarkType::DATE_FIELDMARK))
         {
             // due to SwInsText notifications everything is visible now - tell
             // layout to hide as appropriate

Reply via email to