diff --git a/gtk/gtkkeyhash.c b/gtk/gtkkeyhash.c index df67f53af8..f5063f7322 100644 --- a/gtk/gtkkeyhash.c +++ b/gtk/gtkkeyhash.c @@ -372,8 +372,9 @@ keyval_in_group (GdkKeymap *keymap, * This means that fuzzy matches won't be considered if their keyval is * present in the current group. * - * Return value: A #GSList of matching entries. - **/ + * Return value: A newly-allocated #GSList of matching entries. + * Free with g_slist_free() when no longer needed. + */ GSList * _gtk_key_hash_lookup (GtkKeyHash *key_hash, guint16 hardware_keycode, diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 0f22d4782d..1a5a097cf6 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1860,8 +1860,11 @@ gtk_menu_shell_activate_mnemonic (GtkMenuShell *menu_shell, event->group); if (entries) - result = _gtk_mnemonic_hash_activate (mnemonic_hash, - GPOINTER_TO_UINT (entries->data)); + { + result = _gtk_mnemonic_hash_activate (mnemonic_hash, + GPOINTER_TO_UINT (entries->data)); + g_slist_free (entries); + } return result; }