[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-1+backports' - sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Tue Oct 15 09:25:01 UTC 2019


 sw/source/core/crsr/findattr.cxx |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit ad02c781e5cf4b8bf94e94c5ba9bd951b431a478
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Oct 14 14:56:48 2019 +0200
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Tue Oct 15 11:24:13 2019 +0200

    tdf#128138 sw_redlinehide: fix infinite loop in FindAttrsImpl()
    
    The code looked wrong previously, always assigning the end of the text
    node regardless of direction, but it turns out the improvement caused an
    infinite loop... let's just swap things after the loop, seems simpler
    than adding another if at the assignments.
    
    (regression from 4caef398af256be5f0c2a159129b528ee3702e5c)
    
    Change-Id: I098f5265fa86d6a2511a80a02230899a7a303a88
    Reviewed-on: https://gerrit.libreoffice.org/80774
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>
    (cherry picked from commit 4e0241697371c40f4348bdfb6585a872d4cbcbf6)
    Reviewed-on: https://gerrit.libreoffice.org/80786
    Tested-by: Michael Stahl <michael.stahl at cib.de>

diff --git a/sw/source/core/crsr/findattr.cxx b/sw/source/core/crsr/findattr.cxx
index 3c10c8da2ab0..efaea7584af8 100644
--- a/sw/source/core/crsr/findattr.cxx
+++ b/sw/source/core/crsr/findattr.cxx
@@ -1196,9 +1196,12 @@ static bool FindAttrsImpl(SwPaM & rSearchPam,
         }
     }
 
-    // if backward search, switch point and mark
-    if( bFound && !bSrchForward )
-        rSearchPam.Exchange();
+    // in search direction, mark precedes point, because the next iteration
+    // starts at point
+    if (bFound)
+    {
+        rSearchPam.Normalize(!bSrchForward);
+    }
 
     return bFound;
 }


More information about the Libreoffice-commits mailing list