[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Mon Oct 14 22:50:50 UTC 2019


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

New commits:
commit 46eedca34f6f421c2f2f8181b72a6073ad16efef
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Oct 14 14:56:48 2019 +0200
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Tue Oct 15 00:50:04 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/80785
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/source/core/crsr/findattr.cxx b/sw/source/core/crsr/findattr.cxx
index c77dc2065979..47c1f676ecb5 100644
--- a/sw/source/core/crsr/findattr.cxx
+++ b/sw/source/core/crsr/findattr.cxx
@@ -1198,9 +1198,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