diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java index 58d8947a..5429fffc 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java @@ -192,9 +192,17 @@ class FlatFindReplaceBar context.setSearchFor( findField.getText() ); context.setReplaceWith( replaceField.getText() ); + // make sure that search wrap is disabled because otherwise it is easy + // to have endeless loop when replacing e.g. "a" with "aa" + boolean oldSearchWrap = context.getSearchWrap(); + context.setSearchWrap( false ); + // replace all SearchResult result = SearchEngine.replaceAll( textArea, context ); + // restore search wrap + context.setSearchWrap( oldSearchWrap ); + // update matches info labels updateMatchesLabel( result, true ); }