diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2008-10-19 14:56:25 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2008-10-19 14:56:25 +0000 |
commit | 71e81ef3f676c120b2bc8ae6b9c1548895112c97 (patch) | |
tree | 89d8a91fe6c401e4586da69836c0b09ca58180e4 /gtk | |
parent | 7fb7444efff545b263cc5cdbdddfe60e00f58b49 (diff) | |
download | wireshark-71e81ef3f676c120b2bc8ae6b9c1548895112c97.tar.gz |
Fixed a small issue using esc and backspace in filter autocompletion.
svn path=/trunk/; revision=26496
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/filter_autocomplete.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/gtk/filter_autocomplete.c b/gtk/filter_autocomplete.c index 58c41dbe3d..4a91de5406 100644 --- a/gtk/filter_autocomplete.c +++ b/gtk/filter_autocomplete.c @@ -300,20 +300,23 @@ filter_string_te_key_pressed_cb(GtkWidget *filter_te, GdkEventKey *event) if(name_with_period) g_free (name_with_period); - if(prefix_start) - g_free(prefix_start); } + if(prefix_start) + g_free(prefix_start); + return FALSE; } else if(k==GDK_BackSpace && !popup_win) { - if(strlen(prefix) > 2 && strchr(prefix, '.')) { + if(strlen(prefix) > 2) { /* Delete the last character in the prefix string */ prefix[strlen(prefix)-1] = '\0'; - popup_win = filter_autocomplete_new(filter_te, prefix); - g_object_set_data(G_OBJECT(w_toplevel), E_FILT_AUTOCOMP_PTR_KEY, popup_win); - - if(prefix_start) - g_free(prefix_start); + if(strchr(prefix, '.')) { + popup_win = filter_autocomplete_new(filter_te, prefix); + g_object_set_data(G_OBJECT(w_toplevel), E_FILT_AUTOCOMP_PTR_KEY, popup_win); + } } + if(prefix_start) + g_free(prefix_start); + return FALSE; } @@ -341,6 +344,9 @@ filter_string_te_key_pressed_cb(GtkWidget *filter_te, GdkEventKey *event) gtk_tree_selection_select_iter(GTK_TREE_SELECTION(selection), &iter); } + if(prefix_start) + g_free(prefix_start); + /* stop event propagation */ return TRUE; @@ -359,6 +365,9 @@ filter_string_te_key_pressed_cb(GtkWidget *filter_te, GdkEventKey *event) gtk_tree_selection_select_iter(GTK_TREE_SELECTION(selection), &iter); } + if(prefix_start) + g_free(prefix_start); + /* stop event propagation */ return TRUE; } |