summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2008-10-19 14:56:25 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2008-10-19 14:56:25 +0000
commit71e81ef3f676c120b2bc8ae6b9c1548895112c97 (patch)
tree89d8a91fe6c401e4586da69836c0b09ca58180e4 /gtk
parent7fb7444efff545b263cc5cdbdddfe60e00f58b49 (diff)
downloadwireshark-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.c25
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;
}