From a1768c4094a7af0b3aa55a3cfd731dc596f1de6a Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Tue, 22 May 2012 04:55:42 -0400 Subject: [PATCH] check response_id in search_response_cb --- term.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/term.c b/term.c index 6dd21a5..8a7baa7 100644 --- a/term.c +++ b/term.c @@ -18,15 +18,17 @@ typedef struct search_dialog_info { } search_dialog_info; static void search_response_cb(GtkDialog *dialog, gint response_id, search_dialog_info *info) { - GRegex *regex = vte_terminal_search_get_gregex(VTE_TERMINAL(info->vte)); - if (regex) g_regex_unref(regex); - regex = g_regex_new(gtk_entry_get_text(GTK_ENTRY(info->entry)), 0, 0, NULL); - vte_terminal_search_set_gregex(VTE_TERMINAL(info->vte), regex); + if (response_id == GTK_RESPONSE_ACCEPT) { + GRegex *regex = vte_terminal_search_get_gregex(VTE_TERMINAL(info->vte)); + if (regex) g_regex_unref(regex); + regex = g_regex_new(gtk_entry_get_text(GTK_ENTRY(info->entry)), 0, 0, NULL); + vte_terminal_search_set_gregex(VTE_TERMINAL(info->vte), regex); - if (info->direction == search_forward) { - vte_terminal_search_find_next(VTE_TERMINAL(info->vte)); - } else { - vte_terminal_search_find_previous(VTE_TERMINAL(info->vte)); + if (info->direction == search_forward) { + vte_terminal_search_find_next(VTE_TERMINAL(info->vte)); + } else { + vte_terminal_search_find_previous(VTE_TERMINAL(info->vte)); + } } free(info);