From c12a050ec88e5f2191f6c9aaf5f3fd5975c510c6 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Mon, 2 Jan 2006 17:45:33 +0000 Subject: [PATCH] Fixed selection on find_first --- gnoemoe/widgets/gm-searchable.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnoemoe/widgets/gm-searchable.c b/gnoemoe/widgets/gm-searchable.c index e32dc78..882e4d9 100644 --- a/gnoemoe/widgets/gm-searchable.c +++ b/gnoemoe/widgets/gm-searchable.c @@ -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;