diff options
Diffstat (limited to 'gtk/gtkbindings.c')
-rw-r--r-- | gtk/gtkbindings.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index abf473c46..6f1fed57a 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -954,8 +954,18 @@ gtk_binding_entries_sort_patterns (GSList *entries, gboolean is_release) { GSList *patterns; + GSList *tmp_list; patterns = NULL; + for (tmp_list = entries; tmp_list; tmp_list = tmp_list->next) + { + GtkBindingEntry *entry = tmp_list->data; + GtkBindingSet *binding_set; + + binding_set = entry->binding_set; + binding_set->current = NULL; + } + for (; entries; entries = entries->next) { GtkBindingEntry *entry = entries->data; @@ -966,6 +976,9 @@ gtk_binding_entries_sort_patterns (GSList *entries, continue; binding_set = entry->binding_set; + + if (binding_set->current) + continue; binding_set->current = entry; switch (path_id) |