Fixed selection on find_first
This commit is contained in:
parent
e4d5b5598c
commit
c12a050ec8
|
@ -86,7 +86,7 @@ gm_searchable_text_view_find_first(GtkTextView *text_view,
|
|||
const gchar *str, GmSearchableSearchFlags flags) {
|
||||
GtkTextIter iter;
|
||||
GtkTextBuffer *buffer;
|
||||
|
||||
|
||||
g_return_val_if_fail(text_view != NULL, FALSE);
|
||||
|
||||
buffer = gtk_text_view_get_buffer(text_view);
|
||||
|
@ -99,8 +99,14 @@ gm_searchable_text_view_find_first(GtkTextView *text_view,
|
|||
}
|
||||
|
||||
gtk_text_buffer_place_cursor(buffer, &iter);
|
||||
|
||||
return gm_searchable_text_view_find_next(text_view, str, flags);
|
||||
|
||||
if (*str == '\0') {
|
||||
gtk_text_buffer_move_mark(buffer,
|
||||
gtk_text_buffer_get_selection_bound(buffer), &iter);
|
||||
return FALSE;
|
||||
} else {
|
||||
return gm_searchable_text_view_find_next(text_view, str, flags);
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -119,7 +125,7 @@ gm_searchable_text_view_replace(GtkTextView *text_view, gchar const *replace) {
|
|||
} else {
|
||||
gtk_text_buffer_begin_user_action(buffer);
|
||||
gtk_text_buffer_delete(buffer, &start, &end);
|
||||
gtk_text_buffer_insert(buffer, &start, replace, -1);
|
||||
gtk_text_buffer_insert(buffer, &start, replace, -1);
|
||||
gtk_text_buffer_end_user_action(buffer);
|
||||
|
||||
return TRUE;
|
||||
|
|
Reference in New Issue