diff --git a/src/FolderManager/ProjectFolderItem.vala b/src/FolderManager/ProjectFolderItem.vala index 78c2ecdae..02af5bcfb 100644 --- a/src/FolderManager/ProjectFolderItem.vala +++ b/src/FolderManager/ProjectFolderItem.vala @@ -522,6 +522,7 @@ namespace Scratch.FolderManager { var wholeword_search = Scratch.settings.get_boolean ("wholeword-search"); var case_mode = (CaseSensitiveMode)(Scratch.settings.get_enum ("case-sensitive-search")); var use_regex = Scratch.settings.get_boolean ("regex-search"); + switch (case_mode) { case NEVER: case_sensitive = false; @@ -568,6 +569,10 @@ namespace Scratch.FolderManager { dialog.run (); if (search_term != null) { + // Remove results of previous search before attempting a new one + remove_all_badges (); + collapse_all (); + /* Put search term in search bar to help user locate the position of the matches in each doc */ var search_variant = new Variant.string (search_term); var app = (Gtk.Application)GLib.Application.get_default (); @@ -575,6 +580,7 @@ namespace Scratch.FolderManager { win.actions.lookup_action ("action-find").activate (search_variant); if (!use_regex) { + search_term = Regex.escape_string (search_term); if (wholeword_search) { search_term = "\\b%s\\b".printf (search_term); } @@ -608,9 +614,6 @@ namespace Scratch.FolderManager { path_spec ); - remove_all_badges (); - collapse_all (); - if (monitored_repo != null && !is_explicit) { try { monitored_repo.git_repo.file_status_foreach (status_options, (rel_path, status) => {