diff --git a/src/editor/editsearch.c b/src/editor/editsearch.c index 9a22cc203..646511ed8 100644 --- a/src/editor/editsearch.c +++ b/src/editor/editsearch.c @@ -668,10 +668,7 @@ static void edit_search (WEdit * edit) { if (edit_dialog_search_show (edit)) - { - edit_search_fix_search_start_if_selection (edit); edit_do_search (edit); - } } /* --------------------------------------------------------------------------------------------- */ @@ -701,6 +698,8 @@ edit_search_init (WEdit * edit, const char *str) edit->search_line_type = edit_get_search_line_type (edit->search); + edit_search_fix_search_start_if_selection (edit); + return TRUE; } @@ -877,15 +876,10 @@ edit_replace_cmd (WEdit * edit, gboolean again) input2_str = g_string_new_take (input2); input2 = NULL; - if (edit->search == NULL) + if (edit->search == NULL && !edit_search_init (edit, input1)) { - if (edit_search_init (edit, input1)) - edit_search_fix_search_start_if_selection (edit); - else - { - edit->search_start = edit->buffer.curs1; - goto cleanup; - } + edit->search_start = edit->buffer.curs1; + goto cleanup; } if (edit->found_len != 0 && edit->search_start == edit->found_start + 1